SSM开启事务支持简单实例

时间:2022-07-15 00:02:38 类型:JAVA
字号:    

支持事务的条件:

1, 数据库的引擎类型必须是INNODE

2,   applicationContext.xml配置开启

<!-- 添加事务支持 -->
<bean id="txManager"
      class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>
<!-- 开启事务注解 -->
<tx:annotation-driven transaction-manager="txManager" />

3.  逻辑处理增加事务注解@Transactional

public class OrdersServiceImpl implements OrdersService{
    @Autowired
    private OrdersDao ordersDao;
    @Transactional
    @Override
    public int addOrders(Orders orders, int leftMoney) {
        ordersDao.addOrders(orders);
        if(leftMoney >= 1000){
            Orders orders1 = new Orders();
            orders1.setUsername("xiaoli");
            orders1.setMoney(1000);
            orders1.setType(2); //转入
            ordersDao.addOrders(orders1);
        }
        else{
            throw new RuntimeException("余额不足,正在滚回");
        }

        return 0;
    }
}

4, 以上实例中可见,有异常,必须抛出异常, 通过触发异常,触发回滚

<