在JDBC中处理事务,都是通过Connection(连接)完成的。同一事务中所有的操作,都在使用同一个Connection对象。JDBC事务默认是开启的,并且是默认提交。
JDBC Connection 接口提供了两种事务模式:自动提交和手工提交
JDBC中的事务java.sql.Connection 的三个方法与事务有关:
setAutoCommit(boolean):设置是否为自动提交事务,如果true(默认值为true)表示自动提交,也就是每条执行的SQL语句都是一个单独的事务,如果设置为false,需要手动提交事务。
commit():提交结束事务。
rollback():回滚结束事务。
常见的接口: DriverManager : 驱动的接口 Connection: 连接数据库的接口 Statement : 操作数据库(执行SQL 语句的) ResultSet:查询接口的接口
传统JDBC操作流程:
1).获取JDBC连接 2).声明SQL 3).预编译SQL 4).执行SQL 5).处理结果集
6).释放结果集 7).释放Statement 8).提交事务 9).处理异常并回滚事务 10).释放JDBC连接
JDBC优缺点:1.冗长、重复 2.显示事务控制 3.每个步骤不可获取 4.显示处理受检查异常
JDBC为使用Java进行数据库的事务操作提供了最基本的支持。通过JDBC事务,我们可以将多个SQL语句放到同一个事务中,保证其ACID特性。JDBC事务的主要优点就是API比较简单,可以实现最基本的事务操作,性能也相对较好。但是,JDBC事务有一个局限:一个 JDBC 事务不能跨越多个数据库!所以,如果涉及到多数据库的操作或者分布式场景,JDBC事务就无能为力了。