使用ibatis编程式事物,不回滚

在dao中写try{sqlMapClient.startTransaction();//执行语句(多个insert,update,delete)sqlMapClient.... 在dao中写
try{
sqlMapClient.startTransaction();
//执行语句(多个insert,update,delete)
sqlMapClient.commitTransaction();
}finally{
sqlMapClient.endTransaction();
}
为什么不回滚
展开
 我来答
meicySky
2011-03-17 · TA获得超过237个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:112万
展开全部
发生异常才会回滚,不是这样配的,我写给你看
try {
sqlMapClient.startTransaction();
sqlMapClient.insert("addGoods", goods);
...你所写其他sql语句

sqlMapClient.commitTransaction();
} catch (SQLException e) {
e.printStackTrace();
goods.setRespCode("1");
goods.setRespMsg("添加商品失败:提交事务出现异常,事务回滚");

} finally {
try {
sqlMapClient.endTransaction();

} catch (SQLException e) {

e.printStackTrace();
goods.setRespCode("1");
goods.setRespMsg("添加商品失败:结束事务出现异常,事务回滚");
}
}
追问
sqlMapClient.endTransaction(); 也要捕获异常吗?
追答
是的,结束事务也会出现异常的.比如说,万一在结束事务瞬间停电了呢?不就出现异常了.当然还有很多其他的事件可以触发异常
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式