JDBC连接接口

时间:2020-01-09 10:35:20  来源:igfitidea点击:

使用Java Connection界面,可以创建与特定数据库的会话。执行SQL语句,并在连接的上下文中返回结果。 JDBC API中的连接接口位于java.sql包中。

如何获得连接实例

我们可以使用DriverManager.getConnection()方法创建Connection对象。

连接连接= DriverManager.getConnection(" jdbc:oracle:thin:@myhost:1521:emp"," dbuser"," dbpwd");

拥有Connection对象后,我们可以

  • 获取一个Statement对象。
  • 使用Connection对象,我们还可以获取有关与其连接的数据库的元数据,例如数据库版本,驱动程序信息,数据库中的表等。
  • 使用Connection对象的commit()和rollback()方法管理事务,并设置事务隔离级别。

连接界面中的方法

我们将介绍一些按功能分类的Connection接口的常用方法。

获取Statement实例

Connection具有获取Statement,PreparedStatement和CallableStatement的方法。

  • createStatement()–创建一个Statement对象,用于将SQL语句发送到数据库。
  • prepareStatement(String sql)–创建一个PreparedStatement对象,用于将参数化的SQL语句发送到数据库。在本文JDBC PreparedStatement接口中阅读有关PreparedStatement接口的更多信息。
  • prepareCall(String sql)–创建一个CallableStatement对象以调用数据库存储过程。在本文JDBC CallableStatement接口中阅读有关CallableStatement接口的更多信息。

也有重载方法来传递ResultSet类型和并发级别。在此处查看方法的整个列表https://docs.oracle.com/zh-CN/java/javase/14/docs/api/java.sql/java/sql/Connection.html

用于管理交易

JDBC中的连接接口还提供了管理事务的方法。默认情况下(在自动提交模式下),所有SQL语句将作为单个事务执行并提交。如果我们要将交易中的语句分组并管理交易,则有以下方法:

  • setAutoCommit(boolean autoCommit)–将此连接的提交模式设置为true或者false。 true启用自动提交模式; false禁用它。默认情况下,新连接处于自动提交模式。
  • Commit()–显式提交事务。使自上一次提交/回退以来进行的所有更改永久生效。仅当禁用自动提交模式时,才应使用此方法。
  • rollback()–撤消在当前事务中所做的所有更改,并释放此Connection对象当前持有的所有数据库锁。
  • setTransactionIsolation(int level)–将此Connection对象的事务隔离级别更改为指定的级别。

可能的事务隔离级别在Connection接口中定义为常量。

  • TRANSACTION_NONE –指示交易不支持的常量。
  • TRANSACTION_READ_COMMITTED –指示防止脏读的常量;可能会发生不可重复的读取和幻像读取。
  • TRANSACTION_READ_UNCOMMITTED –一个常量,指示可能发生脏读,不可重复读和幻像读。
  • TRANSACTION_REPEATABLE_READ –一个常量,指示防止脏读和不可重复读;可能会发生幻像读取。
  • TRANSACTION_SERIALIZABLE –一个常量,指示防止脏读,不可重复读和幻像读。

用于获取数据库元数据

  • getMetaData()–返回一个DatabaseMetaData对象,该对象包含有关已连接数据库的元数据。