JDBC系列——3 Connection介绍

本文是 JDBC 系列文章的第三篇,本文将对 Connection 接口进行介绍,由于本人菜鸟一枚,文中若有错误之处,还请各位朋友批评指正,感谢大家花费时间阅读。

Connection 是指针对特定数据库的连接,SQL 语句的执行和操作结果的返回都是在这个 Connection 的上下文中的。在连接关闭前它将一直持有数据库的连接资源。该接口包括以下常用方法:

// 创建Statement类型对象,然后通过该Statement调用静态SQL语句,操作数据库
Statement createStatement() throws SQLException;
// 创建PreparedStatement类型对象,调用动态SQL语句,操作数据库
PreparedStatement prepareStatement(String sql) throws SQLException;
// 创建CallableStatement类型对象,调用存储过程或函数等SQL语句,操作数据库
CallableStatement prepareCall(String sql) throws SQLException;
// 设置连接的自动提交模式,默认情况下是true,该模式下所有SQL语句将各自处于各自的事务中,若设置成false,则所有的SQL语句处于一个事务中执行
void setAutoCommit(boolean autoCommit) throws SQLException;
// 提交当前事务中的所有变更,并释放持有的数据库锁
void commit() throws SQLException;
// 回滚(撤销)当前事务中的所有变更,并释放持有的数据库锁
void rollback() throws SQLException;
// 释放连接资源
void close() throws SQLException;
// 获取数据库连接的元数据
DatabaseMetaData getMetaData() throws SQLException;
// 设置当前连接为只读模式的
void setReadOnly(boolean readOnly) throws SQLException;
// 设置事务的隔离级别,分别为TRANSACTION_READ_UNCOMMITTED、TRANSACTION_READ_COMMITTED、TRANSACTION_REPEATABLE_READ、TRANSACTION_SERIALIZABLE,级别由低到高,级别越高一致性越好,但并发能力越差
void setTransactionIsolation(int level) throws SQLException;
// 创建一个PreparedStatement对象,该对象能够获取自增的主键值
PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
        throws SQLException;

通过上面的方法可以知道,Connection 可以帮助我们操作 SQL 语句、设置事务隔离级别以及进行事务处理,完成需要的速记操作,同时也可以获取数据库的相关信息,完成自己的数据库管理工具。