连接事务控制
JDBC规范3.0中为了增加对事务的控制,新增Savepoint接口,其代表事务中的一个逻辑事务点。在非自动提交模式下,一个事务中可以设置多个Savepoint,在代码中进行事务回滚操作时,可以指定事务回滚到指定Savepoint位置,指定回滚位置前的事务操作仍然保留。此接口大大提高了事务处理的粒度,方便应用程序控制事务处理逻辑。
示例:连接事务控制接口Savepoint使用
//设置非自动提交
conn.setAutoCommit(false);
//创建Statement对象
Statement stm = conn.createStatement();
//执行SQL命令
stm.execute(sql1);
stm.execute(sql2);
//设置事务回滚点save1
java.sql.Savepoint save1 =conn.setSavepoint("save_1");
stm.execute(sql3);
//设置事务回滚点save2
java.sql.Savepoint save2 =conn.setSavepoint("save_2");
stm.execute(sql4);
//设置事务回滚点save3
java.sql.Savepoint save3 =conn.setSavepoint("save_3");
stm.execute(sql5);
//回滚事务到回滚点save3
conn.rollback(save3);
conn.commit();
上述代码段中,事务执行语句sql5将被回滚掉。