Springboot只要配置了数据源是默认开启事务的,只要在Service中默认的使用
@Transactional
注解,然后设置注解的传播属性和读写属性以及其他属性就好。
笔者在SpringBoot使用HikriCP数据源连接池整合Mybatis,MappperXML和Mapper注解混用版已经配置了HikriCP数据源和mybatis,笔者就沿用这篇的配置,详情点击链接进去看就好了。
因为是默认开启事务的,所以只要在Service里加上就好了,如下:
@Transactional(propagation = Propagation.REQUIRED)
public String addUser(User user) {
int updateNum = userMapper.addUser(user);
int i = 1/0;
return "插入"+updateNum+"行";
}
笔者的这个事务因为会抛出异常,所以不能提交成功。
测试后就会发现,数据库没有加入记录。