ssm-spring集成mybatis事务

本文介绍了如何在SSM(Spring、SpringMVC、Mybatis)框架中集成并配置Mybatis事务,通过实例展示了未配置事务的情况以及事务管理的正确操作,包括DAO层的编写,Mapper中的SQL配置,以及事务的测试方法,包括正常操作和模拟异常事务的处理。
摘要由CSDN通过智能技术生成

ssm-spring集成mybatis事务

事务

MyBatis-Spring库的引入,无需创建新的MyBatis事务管理器,就能使MyBatis接入到Spring事。 引入的方式既可以是注解,也可以是aop。

未配置事务实例

首先来看看未配置事务时,执行一组先增加后删除(删除异常)的数据库语句场景。数据库连接配置延用之前的,这里不再介绍。
  1. 编写DAO
  2. public interface StudentMapper {
        void add(Map<Object, Object> student);
        void delete(String name);
    }
    声明了新增和删除两个接口。
  3. mapper配置文件中编写对应sql:
  4. <?xml version="1.0" encoding="UTF-8" ?>
            <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.zx.demo.mybatis.spring.mapper.StudentMapper">
        <insert id="add">
            INSERT INTO student (`name`,sex) VALUES (#{name},#{sex});
        </insert>
        <delete id="delete">
            DELETE FROM student WHERE `name` = #{name};
        </delete>
    </mapper>
  5. 分别编写测试方法测试正确的增加和删除:
  6. 增加:
        @Test
        public void testTransaction() throws Exception {
            ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
            StudentMapper mapper = (StudentMapper) context.getBean("exampleMapper");
            Map<Object, Object> student = new HashMap<>();
            student.put("name", "曹操");
            student.put("sex", "男");
            mapper.add(student);
        }
    
    运行后确定数据库中有写入一条新的数据:
    增加后的结果
    删除:
        @Test
        public void testTransaction() throws Exception {
            ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
            StudentMapper mapper = (StudentMapper) context.getB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值