• jdbc


    一、JDBC基础

    连接数据的步骤:

    1.注册驱动 :Class.forName(“com.mysql.jdbc.Driver”) 推荐这种方式,不会对具体的驱动类产生依赖;DriverManager.registerDriver(com.mysql.jdbc.Driver)
    会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖;System.setProperty(“jdbc.drivers”, “driver1:driver2”) 虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。
    2.建立连接(Connection) :Connection conn = DriverManager.getConnection(url, user, password);url格式: JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&...;User,password可以用“属性名=属性值”方式告诉数据库;其他参数如:useUnicode=true&characterEncoding=GBK。
    3.创建执行SQL的语句(Statement):
    4.执行语句
    5.处理执行结果(ResultSet)
    6.释放资源

    1、注册数据库驱动的方式:

    1)加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名;

    View Code
    2)Driver 是一个接口: 数据库厂商必须提供实现的接口. 能从其中获取数据库连接.可以通过 Driver 的实现类对象获取数据库连接.

    View Code
    2、获取数据库连接的方式:
    1)DriverManager 是驱动的管理类:1). 可以通过重载的 getConnection() 方法获取数据库连接. 较为方便,2). 可以同时管理多个驱动程序: 若注册了多个数据库连接, 则调用 getConnection(),3)方法时传入的参数不同, 即返回不同的数据库连接。

    例:Connection connection = DriverManager.getConnection(jdbcUrl, user, password);

    2)Driver 是一个接口: 数据库厂商必须提供实现的接口. 能从其中获取数据库连接.可以通过 Driver 的实现类对象获取数据库连接.

    例:Connection connection = driver.connect(url, info);

    3.创建执行SQL的语句(statement、preparedstatement):

    通过 JDBC 向指定的数据表中插入一条记录.
    a. Statement: 用于执行 SQL 语句的对象
    1). 通过 Connection 的 createStatement() 方法来获取
    2). 通过 executeUpdate(sql) 可以执行 SQL 语句.
    3). 传入的 SQL 可以是 INSRET, UPDATE 或 DELETE. 但不能是 SELECT

    b. Connection、Statement 都是应用程序和数据库服务器的连接资源. 使用后一定要关闭.
    需要在 finally 中关闭 Connection 和 Statement 对象.

    c. 关闭的顺序是: 先关闭后获取的. 即先关闭 Statement 后关闭 Connection

    示例代码如下:

    View Code
    4.处理执行结果(ResultSet):
    ResultSet: 结果集. 封装了使用 JDBC 进行查询的结果.
    a. 调用 Statement 对象的 executeQuery(sql) 可以得到结果集.
    b. ResultSet 返回的实际上就是一张数据表. 有一个指针指向数据表的第一样的前面.可以调用 next() 方法检测下一行是否有效. 若有效该方法返回 true, 且指针下移. 相当于Iterator 对象的 hasNext() 和 next() 方法的结合体
    c. 当指针对位到一行时, 可以通过调用 getXxx(index) 或 getXxx(columnName),获取每一列的值. 例如: getInt(1), getString("name")
    d. ResultSet 当然也需要进行关闭.

    示例代码如下:

    View Code
    JDBC工具模板(JDBCTools)配置如下:

    View Code

    View Code

  • 相关阅读:
    说说事务的概念,在JDBC编程中处理事务的步骤
    java.util.Date和java.sql.Date有什么区别?
    什么是JDBC的最佳实践?
    数据库连接池的原理。为什么要使用连接池。
    说说事务的概念,在JDBC编程中处理事务的步骤。
    JDBC的ResultSet是什么?
    Android 可以输入的下拉框
    centos 命令行 连接无线网卡
    命令下启动网卡/开机启动
    开机启动 sh
  • 原文地址:https://www.cnblogs.com/lchh/p/9347642.html
Copyright © 2020-2023  润新知