编程式事务
@Override
public void test() {
TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());
try {
//保存数据
EquipmentStatus byId = new EquipmentStatus();
byId.setSoc(BigDecimal.TEN);
byId.setEquipmentId(new Random().nextInt() + "a");
save(byId);
transactionManager.commit(status); // 提交事务
} catch (Exception e) {
transactionManager.rollback(status); // 发生异常则回滚事务
e.printStackTrace();
}
TransactionStatus status2 = transactionManager.getTransaction(new DefaultTransactionDefinition());
try {
//保存数据
EquipmentStatus byId = new EquipmentStatus();
byId.setSoc(BigDecimal.ZERO);
byId.setEquipmentId(new Random().nextInt() + "");
System.out.println(1 / 0);
save(byId);
transactionManager.commit(status2); // 提交事务
} catch (Exception e) {
transactionManager.rollback(status2); // 发生异常则回滚事务
e.printStackTrace();
}
}