<h3>事务管理</h3>

在程序进行逻辑操作的时候,往往会对数据库进行几次操作,但是有时候会造成某一次操作失败,导致产生了不合适的数据。
使用事务处理,当进行多次对数据库操作的时候其中一次执行失败的时候,则全部不进行操作。


此处案例结合之前的几篇文章进行处理

  1. 创建service类(已添加事务管理注解)
    package com.example.demo2;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @Service
    public class GirlServer {
        @Autowired //自动注入
        private GirlRepo girlRepo;//此处的类已经在前面的学习笔记中写过
    
        @Transactional //事务注解
        public void InsertTwoGirl(){
            Girl a = new Girl();//此处的类已经在前面的学习笔记中写过
            a.setAge(16);
            a.setUserName("12345");
            a.setPassword("12345");
            girlRepo.save(a);
    
            Girl b = new Girl();
            b.setAge(25);
            b.setUserName("321656");
            b.setPassword("321656");
            girlRepo.save(b);
        }
    }
    
    
    </li> <li>添加事务管理注解 在创建的项目中 xxxApplication.java 类中开启事务管理 @EnableTransactionManagement ,在上面的service类中已经添加了 @Transaction 注解</p></li> <li><p>编写测试代码
    @GetMapping("/addTwoGirl")
        public void addTwoGirl(){
            girlServer.InsertTwoGirl();
        }
    

    访问地址:http://127.0.0.1:8088/addTwoGirl 执行</p></li>
    <li><p>数据库设置

    emmmm......此处的Girl....插入......是因为在imooc看的视频教程,莫名的就开了一把车.....请忽略.....

    <p>数据库必须支持 <font color=blue>事务管理</font>,类型为 InnoDB
    数据库中girl表的userName字段的限制长度为5,
    若 <font color=blue>不使用事务</font>,则会因一条数据长度不够只插入一条数据
    若 <font color=blue>使用事务</font>,则也会因数据长度不够而插入失败,此时数据库没有插入一条数据。</p></li>

最后修改:2019 年 03 月 18 日 04 : 47 PM
如果觉得我的文章对你有用,请随意赞赏