重庆茂尔建设集团有限公司网站,合肥最新消息,定制系统软件开发,电商商城网站省流#xff1a; 在方法上直接加如下注解#xff1a;
Transactional(propagation Propagation.NOT_SUPPORTED)
public void t1(){//业务代码
} 正文#xff1a;
在测试的时候#xff0c;有时候会希望在for循环中#xff0c;代码循环一次就提交一次事务。
方法一#…省流 在方法上直接加如下注解
Transactional(propagation Propagation.NOT_SUPPORTED)
public void t1(){//业务代码
} 正文
在测试的时候有时候会希望在for循环中代码循环一次就提交一次事务。
方法一
最简单的方式就是关闭事务不需要事务。添加注解如下
Transactional(propagation Propagation.NOT_SUPPORTED)
public void t1(){//业务代码
}
方法二
如果说是真的在生产上有这样的需要每循环一次就提交事务那就需要手动控制事务了。
需要这几行代码 DefaultTransactionDefinition dt new DefaultTransactionDefinition();dt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);TransactionStatus status platformTransactionManager.getTransaction(dt);platformTransactionManager.commit(status);
用法如下 Autowiredprivate PlatformTransactionManager platformTransactionManager;Testpublic void t1(){for(int i0; ilist.size(); i){DefaultTransactionDefinition dt new DefaultTransactionDefinition();dt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);TransactionStatus status platformTransactionManager.getTransaction(dt);mapper.select(o);mapper.insert(o);platformTransactionManager.commit(status);}} 具体解读请前往以下两篇文章
Transactional的7种Propagation
spring springboot mybatis 事务配置 Transactional的Propagation 开启事务 关闭事务_globalcoding的博客
开启和关闭事务时sqlsession创建机制手动控制事务时sqlsession 创建机制
spring springboot mybatis transaction 开启事务 关闭事务 不使用事务_globalcoding的博客 分割线
文章到此已经结束以下是紫薯补丁
Transactional(propagation Propagation.NOT_SUPPORTED) public void t1(){ //业务代码 } Autowired private PlatformTransactionManager platformTransactionManager; Test public void t1(){ for(int i0; ilist.size(); i){ DefaultTransactionDefinition dt new DefaultTransactionDefinition(); dt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus status platformTransactionManager.getTransaction(dt); mapper.select(o); mapper.insert(o); platformTransactionManager.commit(status); } }