二、事务的配置,就是在mybatis的基础上加上两个注解。
1、需要的注解为@EnableTransactionManagement
和@Transactional
两个,它们来自于下边这个包:
spring-tx.jar
该包其实在前边配置mybatis引入依赖时,已自动引入,就是下边这个:
<!-- Spring Boot Mybatis 依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
所以只要上边的依赖引入进来,那事务就不需要再引入包了,
2.首先,找到你的service实现类,加上@Transactional
注解,如果你加在类上,那该类所有的方法都会被事务管理,如果你加在方法上,那仅仅该方法符合具体的事务。当然我们一般都是加在方法上。因为只有增、删、改才会需要事务。
比如下边的一个插入数据的方法添加事务:
@Override
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT,timeout=36000,rollbackFor=Exception.class)
public Integer add(Cbf_jtcy t) {
return cbf_jtcyMapper.insert(t);
}
- 1
- 2
- 3
- 4
- 5
如果不知道里边都是什么东西,可以查看这篇文章,spring,mybatis事务管理配置与@Transactional注解使用
3.配置完后,spring boot启动类必须要开启事务,而开启事务用的注解就是@EnableTransactionManagement
,如下:
@SpringBootApplication
@EnableTransactionManagement
@MapperScan("microservice.qssj.mapper")//必须加这个,不加报错,如果不加,也可以在每个mapper上添加@Mapper注释,并且这里还要多填一个注释,那个我忘了,我一直用这个注解
public class QssjServiceApplication {
public static void main(String[] args) {
SpringApplication.run(QssjServiceApplication.class, args);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
这样就完成了事务的配置。