兩小時學會SpringBoot(6-1)
阿新 • • 發佈:2018-11-24
事務管理
要麼完全執行,要麼完全不執行
新建GirlService
package com.fiona;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class GirlService {
@Autowired
private GirlRepository girlRepository;
public void insertTwo(){
Girl girlA = new Girl();
girlA.setCupSize("A");
girlA.setAge(18);
girlRepository.save(girlA);
Girl girlB = new Girl();
girlB.setCupSize("B");
girlB.setAge(19);
girlRepository.save(girlB);
}
}
在GirlController中增加
@Autowired
private GirlService girlService;
@PostMapping(value = "/girls/two")
public void girlTwo() {
girlService.insertTwo();
}
post方式請求 http://127.0.0.1:8080/girls/two ,資料庫新增兩條資料。
為了實現girlA插入成功,girlB插入失敗,我們更改資料庫的表結構,將cupSize改成1位。同時,girlB.setCupSize(“BBBB”);
這時我們請求 http://127.0.0.1:8080/girls/two 報500,此時girlA插入資料庫成功。
我們期望的是A也別插入。加上註解 @Transactional
只有查詢不要加事務。