如何使用jdbc驱动程序编写事务?

时间:2011-07-07 17:21:18

标签: java sql-server jdbc transactions

我想在java中使用jdbc编写一个事务。

我尝试过这个简单的交易

"BEGIN TRANSACTION"+NL+"GO"+NL+"UPDATE table SET col='test' where id=1010"+NL+"GO"+NL+"COMMIT"

我试过

NL= "\n" and NL="\r\n" and NL="\r"

但我总是遇到以下错误:

  

java.sql.SQLException:'GO'附近的语法不正确。

sql server management studio交易有效

1 个答案:

答案 0 :(得分:7)

获取您的Connection对象。关闭自动提交。

connection.setAutoCommit(false);

将整个交易包裹在try - catch块中。处理完插入/更新后,请致电:

connection.commit();

如果您遇到异常,请致电:

connection.rollback();

此时不要将事务语句放在JDBC的SQL中。我建议看一下包装器,比如Hibernate和JPA。 JDBC中的事务可以很长时间。