版权声明:本文为博主原创文章,未经博主允许不得转载。 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都没有插入。
只有查询不要加事务。