可以使用注解@Transactional
其中的属性:Propagation,事务的传播行为,a()方法上有事务,b()方法上也有事务,当a()方法执行过程中调用了b()方法
属性Isolation隔离级别
事务超时属性timeout
如下图,睡眠时间不计入timeout的时间,因为最后一条DML语句已经结束
属性 readOnly= true,表示该方法不能进行增删改操作
属性rollbackFor=xxxx.class 表示遇到该异常及子类才回滚
属性noRollbackFor 表示遇到该异常或异常的子类不回滚,其他异常则回滚
全注解开发