JDBC事务提交机制以及解决方案

JDBC中的事务是自动提交的,什么是自动提交?

只要任意执行一条DML语句,则自动提交一次。这是JDBC默认的事务行为。但是实际业务当中,通常都是N条DML语句共同联合才能完成的,必须保证它们这些DML语句在同一事务中同时成功或者同时失败。

如何解决?

下面是java中提供的一个方法:
setAutoCommit(boolean flag);

用法如下图:
一.将自动提交改成手动提交
conn.setAutoCommit(false);
在这里插入图片描述

二.在程序结尾处 :如果没有异常,事务结束,手动提交数据
Conn.commit();
在这里插入图片描述

三.异常处理:若程序在执行过程中,出现异常,进行异常处理回滚事务
Conn.rollback();

posted @ 2020-03-09 16:24  辰鬼  阅读(255)  评论(0编辑  收藏  举报