操做數據庫時,同時插入或修改兩條數據,經過事務可控件同時是否成功,若有一條不成功則都不成功spring
數據庫注意:相關表的引擎應爲InnoDB數據庫
navicate-表-設計表-選項-引擎app
或在application.yml配置文件中修改hibernate
2.0.0以上版本的spring boot實體的默認引擎爲MySAM,其不支持事務,須要配置引擎爲爲innoDB
須要在yml的spring:jpa下設置database-platform爲org.hibernate.dialect.MySQL5InnoDBDialect便可設計
關鍵註解: orm
@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();
}
}