本文最后更新于121 天前,其中的信息可能已经过时。
Springboot编程式事务
- 无返回值的
@Autowired
private TransactionTemplate transactionTemplate;
ransactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
try {
Page<Order> page = Page.of(current, PAGE_SIZE);
List<Order> orderList = orderService.page(page).getRecords();
handle(today, orderList);
}catch (Exception e){
status.setRollbackOnly();
}
}
});
- 有返回值的
public Object getObject(String str) {
/*
* 执行带有返回值<Object>的事务管理
*/
transactionTemplate.execute(new TransactionCallback<Object>() {
@Override
public Object doInTransaction(TransactionStatus transactionStatus) {
try {
...
//....... 业务代码
return new Object();
} catch (Exception e) {
//回滚
transactionStatus.setRollbackOnly();
return null;
}
}
});
}