小编Jim*_*mmy的帖子

为什么我必须在 JDBC 中使用回滚?

如果我不使用connection.rollback(),由于事务还没有提交,我可以看到数据库的数据也不会改变任何东西,那为什么我还需要使用connection.rollback()

try {

        connection.setAutoCommit(false);


        bankDao.transferMoney(+2000, 1, connection); //account1:+$2000


        if(true){
            throw new RuntimeException(); //make error
        }

        bankDao.transferMoney(-2000, 2, connection);//account2:-$2000


        connection.commit();

    } catch (Exception e) {

        try {

            connection.rollback();
            System.out.println("something wrong, roll back");

        } catch (Exception e1) {

            e1.printStackTrace();

        }

    }
Run Code Online (Sandbox Code Playgroud)

java jdbc

4
推荐指数
2
解决办法
1017
查看次数

标签 统计

java ×1

jdbc ×1