猿问

为什么JDBC事务里面要使用 rollback() ?

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()呢? 谢谢

猛跑小猪
浏览 969回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答