问答详情
源自:6-3 声明式事务管理方式三:基于注解的方式

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

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

提问者:淋雨明天 2019-04-20 17:04

个回答

  • 快乐冰冰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);



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

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