@Autowired
private PlatformTransactionManager platformTransactionManager;
public void test(){
List<SupplierPurchaseOrderDetailsRecord> recordList = new ArrayList<SupplierPurchaseOrderDetailsRecord>(){
{
add(new SupplierPurchaseOrderDetailsRecord(11111));
add(new SupplierPurchaseOrderDetailsRecord(22222));
add(new SupplierPurchaseOrderDetailsRecord(33333));
add(new SupplierPurchaseOrderDetailsRecord(44444));
}
} ;
for (int i = 0; i < recordList.size(); i++) {
//手动开启事务
DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = platformTransactionManager.getTransaction(definition);
try {
mapper.insertSelective(recordList.get(i));
if (i==3){
throw new RuntimeException();
}
//手动提交
platformTransactionManager.commit(status);
} catch (RuntimeException e) {
//手动回滚异常
platformTransactionManager.rollback(status); }
}
}
手动回滚异常数据
最新推荐文章于 2022-08-15 17:31:08 发布