JDBC中常用接口与类

JDBC3.0标准中的常用接口与类

1. Driver 接口

Driver接口的作用是来定义数据库驱动应该具备的一些能力. 比如与数据库建立连接的方法的定义所有支持java语言连接的数据库都实现了该接口, 实现该接口的类我们称之为数据库驱动类. 在程序中要连接数据库, 必须先通过JDK的反射机制加载数据库驱动类, 将其实例化. 不同的数据库驱动类的类名有区别

加载MySQL5驱动: Class.forName(“com.mysql.jdbc.Driver”);

加载MySQL8驱动: Class.forName(“com.mysql.cj.jdbc.Driver”);

加载Oracle驱动: Class.forName(“oracle.jdbc.driver.OracleDriver”);

2. Driver Manager类

Driver Manager通过实例化的数据库驱动对象, 能够建立应用程序与数据库之间连接. 并返回Connection接口类型的数据库连接对象

2.1 常用方法

  • getConnection(String jdbcUrl, String user, String password)

    该方法通过访问数据库的URL, 用户名, 以及密码, 返回对应的数据库的Connection对象

2.2 JDBC URL

与数据库连接时, 用来连接到指定数据库标识符. 在URL中包括了该数据库的类型, 地址, 端口, 库名称等信息. 不同品牌数据库的连接URL不同

3. Connection 接口

Connection与数据库的连接(会话) 对象. 我们可以通过该对象执行sql语句并返回结果.

  • 连接 MySql 数据库:

    Connection conn = DriverManager.getConnection("jdbc:mysql://host:port/database?serverTimezone=GMT", "user",
    "password");
    
  • 连接 Oracle 数据库:

    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database",
    "user", "password");
    
  • 连接 SqlServer 数据库:

    Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://host:port;DatabaseName=database", "user", "password"); 
    

3.1 常用方法

  • createStatement(): 创建向数据库发送SQL的Statement接口类型的对象
  • preparedStatement(sql): 创建向数据库发送预编译sql的PreparedStatement接口类型的抓了
  • prepareCall(sql): 创建执行存储过程的CallableStatement接口类型的对象
  • setAutoCommit(boolean autoCommit): 设置事务是否自动提交
  • commit(): 在链接上手动提交事务
  • rollback(): 在此链接上回滚事务

4. Statement接口

用于执行静态SQL语句并返回它所生成结果的对象

由 createStatement 创建, 用于发送简单的 SQL 语句(不支持动态绑定) 。

4.1 常用方法

  • execute(String sql): 执行参数中的SQL, 返回时否有结果集 boolean
  • executeQuery(String sql): 运行select语句, 返回ResultSet对象
  • executeUpdate(String sql): 运行insert/update/delete操作, 返回更新的行数
  • addBatch(String sql): 把多条sql语句放入一个批处理中
  • executeBatch(String sql): 向数据库发送一批sql语句执行.

5. PreparedStatement接口

继承自Statement接口, 有PreparedStatement创建, 用于发送含有一个或多个参数的SQL语句. PreparedStatement对象比Statement对象的效率要更高, 并且可以防止SQL注入, 所以我们一般都使用PreparedStatment.

5.1 常用方法

  • addBatch() 把当前SQL语句加入到一个批处理中
  • execute() 执行当前SQL 返回一个boolean值
  • executeUpdate() 运行insert/update/delete操作, 返回更新的行数
  • executeQuery() 执行当前的查询, 返回一个结果集对象
  • setDate(int parameterIndex, Date x) 指定位置绑定一个java.sql.Date对象
  • setxxx(int parameterIndex, xxx): 指定位置绑定一个xxx类型的值

6. ResultSet接口

ResultSet 提供检索不同类型字段的方法。

6.1 常用方法

  • getString(int index)、 getString(String columnName)
    获得在数据库里是 varchar、 char 等类型的数据对象。
  • getFloat(int index)、 getFloat(String columnName)
    获得在数据库里是 Float 类型的数据对象。
  • getDate(int index)、 getDate(String columnName)
    获得在数据库里是 Date 类型的数据。
  • getBoolean(int index)、 getBoolean(String columnName)
    获得在数据库里是 Boolean 类型的数据。
  • getObject(int index)、 getObject(String columnName)
    获取在数据库里任意类型的数据。

6.2ResultSet 对结果集进行滚动的方法

  • next(): 移动到下一行。
  • Previous(): 移动到前一行。
  • absolute(int row): 移动到指定行。
  • beforeFirst(): 移动 resultSet 的最前面。
  • afterLast() : 移动到 resultSet 的最后面。

7. CallableStatement接口

继承自PreparedStatement接口, 由方法prepareCall创建, 用于调用数据库的存储过程.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值