两小时学会SpringBoot(6-1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37622786/article/details/84435941

事务管理

要么完全执行,要么完全不执行
新建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都没有插入。

只有查询不要加事务。

猜你喜欢

转载自blog.csdn.net/weixin_37622786/article/details/84435941
6-1
今日推荐