JDBC事务
JDBC的事务由Connection提供,默认是打开的。
要开启事务,则要关闭自动提交,
1 conn.setAutoCommit(false);
提交事务使用
1 conn.commit();
回滚事务使用
1 conn.rollback();
可以在某个位置设置一个保存点,回滚时只回滚到这个点,
1 try{2 Savepoint sp =conn.setSavepoint();3 ...4 } catch(SQLException e) {5 conn.rollback(sp);6 }
当Connection遇到一个未处理的SQLException异常时,系统会非正常退出,事务还是会自动回滚。但如果程序捕获了该异常,则需要在异常处理块中显示地回滚。
下面演示JDBC事务的基本用法,
1 packagedb;2
3
4 importjava.io.FileInputStream;5 importjava.io.FileNotFoundException;6 importjava.io.IOException;7 importjava.sql.Connection;8 importjava.sql.DriverManager;9 importjava.sql.SQLException;10 importjava.sql.Statement;11 importjava.util.Properties;12
13 public classTransactionTest {14 privateString driver;15 privateString url;16 privateString user;17 privateString pass;18 public void initPar