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

Zar*_*rdo 3 java sql-server transactions jdbc

我想用jdbc编写一个事务java.

我尝试过这个简单的交易

"BEGIN TRANSACTION"+NL+"GO"+NL+"UPDATE table SET col='test' where id=1010"+NL+"GO"+NL+"COMMIT"
Run Code Online (Sandbox Code Playgroud)

我试过了

NL= "\n" and NL="\r\n" and NL="\r"
Run Code Online (Sandbox Code Playgroud)

但我总是得到以下错误:

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

sql server management studio交易工作中

pic*_*ypg 7

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

connection.setAutoCommit(false);
Run Code Online (Sandbox Code Playgroud)

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

connection.commit();
Run Code Online (Sandbox Code Playgroud)

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

connection.rollback();
Run Code Online (Sandbox Code Playgroud)

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