jdbc autocommit(false)不起作用
技术问答
240 人阅读
|
0 人回复
|
2023-09-12
|
我不知道java.sql.Connection.commit()。
8 L6 y: {, X7 J+ V" S6 H我正在使用Derby(Java DB)作为数据库服务器。' C7 G& f3 S( @0 T
当我执行 setAutoCommit(false)时
5 c* t2 ~; a; k5 v% U4 i,希望我的查询在显式调用commit()方法以前不起作用。但事实上,即使我不调用它commit(),它仍然会提交。当我在表上调用时select" s9 N+ q# H6 G! g- {0 a
*在打印内容时,即使我没有明确提交查询,我也可以看到添加了线。
3 ?: V+ w, D; `0 m1 R7 k8 |有人能给我一些解释吗?
" X! Z( z; c. K( Z: A6 \+ i! `0 k con.setAutoCommit(false); PreparedStatement updateHair = null; PreparedStatement addMan = null; try String updateString = "update PERSONNE " "set haircolor = 'RED' where haircolor = 'SHAVE'"; String updateStatement = "insert into personne values " "(3,'MICHEL','SHAVE')"; addMan = con.prepareStatement(updateStatement); addMan.executeUpdate();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;updateHair = con.prepareStatement(updateString); updateHair.executeUpdate(); catch (SQLException e) TODO Auto-generated catch block e.printStackTrace(); * C, g. h" d! z) g4 O
解决方案: |
|
|
|
|
|