在一个实际的项目中遇到问题,欢迎有实践经验的高手进来讨论-----关于事务处理
环境:java + jdbc + postgresql
在处理事务时,通常有两种方式可以选择:
1
conn.setautocommit(false)
try{
stmt.executeupdate(".....");
...........................;
stmt.executeupdate(".....");
conn.commit();
}catch(....) {
conn.rollback();
}
2 conn.seautocommit(false)
try {
stmt.executeupdate("begin;")
stmt.executeupdate("insert....")
...........................
conn.executeupdate("commit");
}catch(...) {
stmt.executeupdate("rollback");
}
这两种方法有什么区别,为什么在我的程序中用第一种方法不行,第二种方法则正确无误,两位高手能给我一个详细一点的解答,不胜感激!!!