操作数据库时,同时插入或修改两条数据,通过事务可控件同时是否成功,如有一条不成功则都不成功
数据库注意:相关表的引擎应为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();
}
}