2小时学会Spring Boot学习 - 事务管理

操作数据库时,同时插入或修改两条数据,通过事务可控件同时是否成功,如有一条不成功则都不成功

数据库注意:相关表的引擎应为InnoDB

navicate-表-设计表-选项-引擎

或在application.yml配置文件中修改

2.0.0以上版本的spring boot实体的默认引擎为MySAM,其不支持事务,需要配置引擎为为innoDB
需要在yml的spring:jpa下设置database-platform为org.hibernate.dialect.MySQL5InnoDBDialect即可

 

关键注解:   

@Transactional

1.新建Service文件
@Service
public class GirlService {

@Autowired
private GirlReposistory girlReposistory;

@Transactional //事务注解
public void insertTwo(){
Girl girlA = new Girl();
girlA.setCupSize("A");
girlA.setAge(12);
girlReposistory.save(girlA);

Girl girlB = new Girl();
girlB.setCupSize("vvvvvB2w");
girlB.setAge(14);
girlReposistory.save(girlB);
}
}


2.在controller中调用
public class GirlController { 
@Autowired
private GirlService girlService;
  @PostMapping(value = "inserttow")
  public void insertTow(){
   girlService.insertTwo();
  }
}





 

posted @ 2018-04-20 18:23  zhcnblog  阅读(194)  评论(0编辑  收藏  举报