1. 程式人生 > >兩小時學會SpringBoot(6-1)

兩小時學會SpringBoot(6-1)

事務管理

要麼完全執行,要麼完全不執行
新建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

再請求一次。報500 ,但A,B都沒有插入。

只有查詢不要加事務。