SpringBoot入门(四):事务管理

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();
    }
  • 可以设置数据库表中某个字段的长度,使第一条语句成功,第二天语句失败,从而比较出事务的作用。

猜你喜欢

转载自blog.csdn.net/endlessseaofcrow/article/details/80337794