spring + ibatis 事务回滚问题

kbryant 2009-11-03 05:37:17
service端是这样的

public int insertStatisticData(String agentid) {

// 一个循环,循环里面有多个dao操作
for (....) {

testDao.selectAll();
testDao.updateAll();
testDao.insertAll();
.......

}

}
目前的情况是只要其中某个dao操作出错,那么就所有的dao操作都回滚了,现在我要的效果是这样的:假设现在走到第二次循环时,里面的第二个dao操作出错了,那么回滚这次循环里面的所有操作,然后跳过这次循环走下一次循环,继续往下走,
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baby1986 2009-11-04
  • 打赏
  • 举报
回复
AutoCommit设置为false!
for (....) {
SqlMapClient.startTransaction();
testDao.selectAll();
testDao.updateAll();
testDao.insertAll();
.......
SqlMapClient.endTransaction();
}
这样就可以了.
imasmallbird 2009-11-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hz020815 的回复:]
把for里方法写在一个事务里, 外面的方法不写事务,这样不知道行不行
[/Quote]
就是这个思路
你把for循环里的方法提出来,然后对这个新提出来的方法加事务~~
阿士匹灵 2009-11-03
  • 打赏
  • 举报
回复
下班 路过 学习 呵呵
hz020815 2009-11-03
  • 打赏
  • 举报
回复
把for里方法写在一个事务里, 外面的方法不写事务,这样不知道行不行
villagehead 2009-11-03
  • 打赏
  • 举报
回复
没有头绪,

纯bd

jdbc有个保存点(savepoint)的概念,
不知道spring怎么封装的。
找了个连接,
http://blog.oracle.com.cn/index.php/6077/viewspace-4599.html
lz研究一下吧

good luck

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧