编程式事务

编程式事务
 @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();
        }
    }

posted @ 2025-07-03 09:42  Arborblog  阅读(3)  评论(0)    收藏  举报