第一:注入PlatformTransactionManager
@Autowired
private PlatformTransactionManager manager;
第二:在需要的地方开启事务
@Test
void transactionDemo() {
TransactionDefinition definition = new DefaultTransactionDefinition();
//删除操作,开启事务
TransactionStatus deleteStatus = (definition);
try {
(1);
//todo 数据库操作
(deleteStatus);
} catch (Exception e) {
(deleteStatus);
}
//插入操作,开启另一个事务
for (int i = 0; i < 5; i++) {
Userinfo userinfo = new Userinfo();
("12345"+i);
("admin"+i);
(i);
TransactionStatus insertStatus = (definition);
try {
(userinfo);
int i2 = 1/0;
(insertStatus);
} catch (Exception e) {
(insertStatus);
}
}
}