前述:事务做为数据库操作特别重要的一方面,不做过多赘述。spring框架使用太久后总忽略一些比较原始的东西,老项目中又使用了这些,看到一些东西总感觉迷惑。比如当使用jdbc调用一个存储过程,该存储过程又有很多子sql语句时,若存储过程出现异常,执行结果如何?猜测会整个回退,但是autoCommit不是自动提交吗?
(jdbc的连接connection默认自动提交autoCommit为ture)
下面就开启探究之旅。。。。。。
测试/验证思路:
1.测试连接获取到之后,进行连续多个CRUD操作,查看操作后期异常和全程无异常的情况。
2.测试连接获取到之后,进行调用存储过程,存储过程中多个CRUD操作(存储过程中无commit语句),查看操作后期异常和全程无异常的情况。
3.测试连接获取到之后,进行调用存储过程,存储过程中多个CRUD操作(存储过程中无commit语句),查看操作后期异常和全程无异常的情况。
此处只为测试,忽略代码是否优美
首先建立测试表,注意两张表的字段长度是不一样的。
create table TEST_LEON_T1(name varchar2(20));
create table TEST_LEON_T2(name varchar2(5));
java代码如下:
public class Test {
public Connection conn ;
public static void