为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

2 回答

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);



1 回复 有任何疑惑可以回复我~
#1

淋雨明天 提问者

我用mybatis的,sqlSession对象好像没有设置自动提交的方法
2019-04-20 回复 有任何疑惑可以回复我~
#2

快乐冰冰bing

sqlsession.commit()提交事物的方法,并通过 sqlsession.close()关闭 试过这样操作了吗 还有我想了想,你在程序运行之前,数据库是否打开并连接上了
2019-04-20 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~
#1

淋雨明天 提问者

可是我不手动提交,他就没办法更新到数据库,那可怎么办?
2019-04-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信