代码写的有问题啊先try{捕获异常}catch{处理异常}然后finally{关闭连接},如果没有异常就提交,如果出现异常在catch代码块里面回滚就可以了。

解决方案 »

  1.   

    代码应该是try{commit}catch{rollback}finally{closeConnection}
      

  2.   

    事务是在Java这端控制的,你的update如果已经使数据库发生了变化,就没法回滚了!
    事务基本原理是把你的sql语句缓存下来,当你commit之后,之前缓存的sql就一条一条执行,提交到数据库。
    在commit之前,你可以用回滚。就是之前缓存的sql会取消掉。
      

  3.   


    我的意思是你都commit(),数据已经提交了,没法回滚了,想回滚的话,说明执行异常,所以应该在catch()中rollback()