springBoot事务管理
demo:
GirlController:
@RestController
public class GirlController {
@Autowired
private GirlRepository girlRepository;
@Autowired
private GirlService girlService;
/**
* 插入(事物管理)
*/
@PostMapping(value = "/girls/two")
public void girlTwo(){
girlService.insertTwo();
}
}
GirlService:
@Service
public class GirlService {
@Autowired
private GirlRepository girlRepository;
/**
* 事务管理
* 该方法中的两个操作要么都成功,要么都失败
* 一般只有一个操作也要加事务管理,只要查询不需要加
*/
@Transactional
public void insertTwo(){
Girl girlA = new Girl();
girlA.setCupSize("A");
girlA.setAge(18);
girlRepository.save(girlA);
Girl girlB = new Girl();
girlA.setCupSize("B");
girlA.setAge(19);
girlRepository.save(girlB);
}
}
GirlRepository:
public interface GirlRepository extends JpaRepository<Girl,Integer> {
/**JpaRepository<>
* 第一个参数:类名
* 第二个参数:id的类型
*/
//通过年龄来查询
public List<Girl> findByAge(Integer age);
}
Girl:
@Entity //该注解表示该类在数据库中有对应的表 不用创建该表
public class Girl {
@Id
@GeneratedValue
private Integer id;
private String cupSize;
private Integer age;
public Girl() {
}
applicaion.yml:
spring:
profiles:
active: prod
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/dbgirl
username: root
password: 123456
jpa:
hibernate:
ddl-auto: create
show-sql: true