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对象,该对象包含有关已连接数据库的元数据。