事务简介
- 事务:事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
 - 事务操作流程:
- 开启事务
 - 提交事务
 - 回滚事务
 
 
JDBC中事务处理特点
在JDBC中,使用Connection对象来管理事务,默认为自动提交事务。可以通过setAutoCommit(boolean autoCommit)方法设置事务是否自动提交,参数为boolean类型,默认值为true,表示自动提交事务,如果值为false则表示不自动提交事务,需要通过commit方法手动提交事务或者通过rollback方法回滚事务。
事务实现
import java.sql.Connection;import java.sql.PreparedStatement;/*** 批量添加数据方式二(数据量大)* 支持事务回滚*/public void addBatch_2(){Connection connection = null;PreparedStatement preparedStatement = null;try {connection = JDBCUtils.getConnection();//设置事务的提交方式,将自动提交改为手动提交connection.setAutoCommit(false);preparedStatement = connection.prepareStatement("insert into users values (default ,?,?)");//参数绑定for(int i=0;i<1000;i++){preparedStatement.setString(1,"laogeng"+i);preparedStatement.setInt(2,20);//缓存sqlpreparedStatement.addBatch();if(i%500==0){preparedStatement.executeBatch();//清缓存preparedStatement.clearBatch();}}//手动提交事务JDBCUtils.commit(connection);}catch (Exception e){e.printStackTrace();JDBCUtils.rollBack(connection); //回滚}finally {JDBCUtils.clossResource(preparedStatement,connection);}}public static void main(String[] args) {AddBatchTest addBatchTest = new AddBatchTest();addBatchTest.addBatch_2();}}
