栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring-mybatis声明式事务transaction

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring-mybatis声明式事务transaction

事务的回顾
  • 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎!
  • 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。

事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。

事务四个属性ACID

  1. 原子性(atomicity)
    • 事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用。
  2. 一致性
    • 一旦所有事务动作完成,事务就要被提交。数据和资源处于一种满足业务规则的一致性状态中
  3. 隔离性
    • 可能多个事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏
  4. 持久性
    • 事务一旦完成,无论系统发生什么错误,结果都不会受到影响。通常情况下,事务的结果被写到持久化存储器中
程序准备
  1. 实体类
@Data
public class User {
    private int id;
    private String name;
    private String pwd;
}
  1. 包的导入


    
        spring-study
        com.kuang
        1.0-SNAPSHOT
    
    4.0.0

    spring-11-transaction

    
        
        
            junit
            junit
            4.13.2
        
        
        
            mysql
            mysql-connector-java
            8.0.26
        
        
        
            org.mybatis
            mybatis
            3.5.7
        
        
        
            org.springframework
            spring-webmvc
            5.3.9
        
        
        
            org.springframework
            spring-jdbc
            5.3.9
        
        
        
            org.aspectj
            aspectjweaver
            1.9.7
        
        
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
        
            org.projectlombok
            lombok
            1.18.20
        

    

    
    
        
            
                src/main/resources
                
                    ***.xml
                
                true
            
            
                src/main/java
                
                    ***.xml
                
                true
            
        
    


  1. mapper接口和mapper文件
    UserMapper接口
public interface UserMapper {
    public List selectUser();
}

mapper文件






    
        select * from user;
    

    
        insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{pwd});
    

    
        delete from mybatis.user where id=#{id};
    



3.测试类

public class MyTest {
    @Test
    public void test() throws IOException {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        UserMapper userMapper = context.getBean("userMapper", UserMapper.class);

        List users = userMapper.selectUser();

        for (User user : users) {
            System.out.println(user);
        }

    }
}

注意点:小程序涉及到的数据库和表,在以前的文章中有,这个小程序通过对用户的添加和删除来验证事务的特性。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号