service端是这样的public int insertStatisticData(String agentid) {// 一个循环,循环里面有多个dao操作
  for (....) {   testDao.selectAll();
   testDao.updateAll();
   testDao.insertAll();
   ....... }}
目前的情况是只要其中某个dao操作出错,那么就所有的dao操作都回滚了,现在我要的效果是这样的:假设现在走到第二次循环时,里面的第二个dao操作出错了,那么回滚这次循环里面的所有操作,然后跳过这次循环走下一次循环,继续往下走,

解决方案 »

  1.   

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

  2.   

    把for里方法写在一个事务里, 外面的方法不写事务,这样不知道行不行
      

  3.   

    就是这个思路
    你把for循环里的方法提出来,然后对这个新提出来的方法加事务~~
      

  4.   

    AutoCommit设置为false!
    for (....) { 
      SqlMapClient.startTransaction();
      testDao.selectAll(); 
      testDao.updateAll(); 
      testDao.insertAll(); 
      ....... 
      SqlMapClient.endTransaction();

    这样就可以了.