try {
connection.setAutoCommit(false);
bankDao.transferMoney(+2000, 1, connection); //帐号1 增加2000
if(true){
throw new RuntimeException(); //模拟报错
}
bankDao.transferMoney(-2000, 2, connection);//帐号2 减少2000
connection.commit();
} catch (Exception e) {
try {
connection.rollback();
System.out.println("回滚事务");
} catch (Exception e1) {
e1.printStackTrace();
}
}
我发现就算我没有使用connection.rollback()
, 由于事务还没有提交, 数据库里面的数据还是不会发生改变, 就是用或者是不用的效果也是一样, 那我为什么还要使用connection.rollback()
呢? 谢谢
相关分类