1.事务管理方法
- 将MySQL中的表的存储引擎设置为
InnoDB
,因为默认的MyISAM
不支持事务操作
- 在所使用的方法上加注解
@Transactional
,注意是Spring
下面的包
2.实例
- 仍然沿用上一小节的实例
- 新建类
StudentInsertTwo
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class StudentInsertTwo {
@Autowired
private StudentRepository studentRepository;
@Transactional
public void insertTwo(){
Student stuA=new Student();
stuA.setSex("男");
stuA.setStuname("张三");
studentRepository.save(stuA);
Student stuB=new Student();
stuB.setSex("女女女女 女女女");
stuB.setStuname("李四");
studentRepository.save(stuB);
}
}
/**
* 插入两条语句
*/
@Autowired
private StudentInsertTwo studentInsertTwo;
@GetMapping(value = "/stuInsert")
public void stuInsert(){
studentInsertTwo.insertTwo();
}
- 可以设置数据库表中某个字段的长度,使第一条语句成功,第二天语句失败,从而比较出事务的作用。