其他四个隔离水平对应于数据库的四个隔离
1.创建春季项目
新的春季初始化项目
配置pom.xml文件
创建一个实体软件包并创建与数据库表相对应的物理类
创建一个DAO软件包并创建数据库表的类的界面
创建一个异常软件包,自定义异常类
创建一个服务包来定义服务界面
在服务软件包下创建IMPH包以实现ISPringTransaction接口
创建一个正在测试的新测试类
总体项目结构如图所示:
2.创建一个测试数据库
相应的应用程序.yml
在执行之前,表中没有记录
执行方法
它没有回滚,数据插入了成功
清除数据库,然后继续下一个
在这里,Rumtime Exception被强行转化为Customexception,这不是未经选中的
执行方法
没有回滚,成功插入
清除数据库,然后继续下一个
执行方法
RuntimeException是不合时件,回滚,数据未成功插入
执行方法
参数回滚指定Customexception异常类型,并抛出此异常,交易是滚动,数据插入失败
运行方法
抛出例外
由于字段名称要求不是空的,请运行错误
在此方法中,可以在OneSaveMethod()上获得标记为事务的方法。多个交易集成到一个交易中。只有通过正确的执行才能提交交易。由于操作的误差,交易被标记为仅回滚,从而导致交易的回滚。数据回滚。插入故障。
可以看出,交易未回滚,数据已成功插入
手术期间抛出的异常
可以从异常投掷中看到。首先,我们得到的是一个代理对象,调用非债务计算方法。但是,当调用eletherOneSaveMethod时,非债务cannotrollback方法是另一个soseonesavemethod的原始对象。不过是回滚。
可以看出,由于异常是UNCHECK类型,因此交易已撤回,并且数据尚未成功插入。
从抛出的异常中可以看出。首先,我们得到的是代理对象,然后称之为另一索诺夫人。因此,存在事务问题,即事务不会失败。
