SpringBoot学习笔记五:springBoot添加数据库事务支持
一、在启动文件里加上注释@EnableTransactionManagement;
package com.springboot.business; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * 项目启动类 * @author wang * */ //加入扫描 依赖,就不需要在每个mapper中加入注解@Mapper @MapperScan("com.springboot.business.mapper") //springBoot数据库事务支持 @EnableTransactionManagement @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
二、在service实现类中加上@Transational注解,需要这两步操作即可;
/** * @Transactional:数据库事务支持 * 修改 */ @Transactional @Override public int updateByPrimaryKeySelective(AdminUser record) { int num = adminUserMapper.updateByPrimaryKeySelective(record); System.out.println("成功修改数据:"+num); //此处报java.lang.NumberFormatException: null //上面修改的数据将会进行回滚操作 Integer.valueOf(null); return num; }
三、测试:在controller中编写测试方法,后台会打印修改 条数,但是访问后后台报异常,数据库修改操作将会回滚;
/** * 更新测试数据库事务支持 * @return */ @GetMapping("/demo/updateOne") public String updateModel() { AdminUser adminUser = new AdminUser(); adminUser.setAdminUserId(1); adminUser.setLoginUserName("王 小小小伟"); int num = adminUserService.updateByPrimaryKeySelective(adminUser); return num==0?"0条":num+"条"; }