我用mybatis操作数据库需要commit提交,可是提交后发生异常就回滚不了了,怎么办

来源:6-3 声明式事务管理方式三:基于注解的方式

淋雨明天

2019-04-20 17:04

我用mybatis操作数据库需要commit提交,可是提交后发生异常就回滚不了了,怎么办

写回答 关注

2回答

  • 快乐冰冰bing
    2019-04-20 18:52:20

    JDBC中,如果Connection类的方法setAutoCommit(boolean
      autoCommit)赋给值为false,那么就可以手动提交(调用Connection类的commit()方法);如果为true那么就是自动提交。

    例子

            public void testAddAffair(){

                Connection con = JDBCTemple.getConnection();

                String sql = "select count(1) from sal_table";

                int count = 0;

                    //事务的提交方式为手动提交

                    con.setAutoCommit(false);

                    //事务的提交方式为手动提交

                    con.setAutoCommit(true);



    快乐冰冰bi...

    sqlsession.commit()提交事物的方法,并通过 sqlsession.close()关闭 试过这样操作了吗 还有我想了想,你在程序运行之前,数据库是否打开并连接上了

    2019-04-20 19:28:13

    共 2 条回复 >

  • 快乐冰冰bing
    2019-04-20 18:25:30

    对的呀!你使用了commit就是不能使用事物的回滚了,commit是提交的意思,COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK命令之后的全部事务都保存到数据库。

    淋雨明天

    可是我不手动提交,他就没办法更新到数据库,那可怎么办?

    2019-04-20 18:27:17

    共 1 条回复 >

Spring事务管理

事务管理是Spring重要的知识,应用事务解决数据不一致问题

87318 学习 · 197 问题

查看课程

相似问题