spring声明式事务

Posted 小布丁value

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring声明式事务相关的知识,希望对你有一定的参考价值。

回顾事务


先配置好环境

新增两个方法


delete语句故意写错

package com.kuang.mapper;

import com.kuang.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;

import java.util.List;

public class UserMapperIMPI implements UserMapper 

    //sqlSession不用我们自己创建了,Spring来管理
    private SqlSessionTemplate sqlSession;

    public void setSqlSession(SqlSessionTemplate sqlSession) 
        this.sqlSession = sqlSession;
    

    public List<User> selectUser() 
        User user = new User(4, "小王", "2131231");
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.addUser(user);
        mapper.deleteUser(8);
        return mapper.selectUser();
    

    public int addUser(User user) 
        return sqlSession.getMapper(UserMapper.class).addUser(user);
    

    public int deleteUser(int id) 
        return sqlSession.getMapper(UserMapper.class).deleteUser(id);
    



delete报错但是插入成功了


所有事务都参考官网

Spring声明式事务

配置声明式事务

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <constructor-arg ref="dataSource" />
    </bean>

使用Spring管理事务,注意头文件的约束导入 : tx

xmlns:tx="http://www.springframework.org/schema/tx"

http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">


这块输个tx可以自己导入,不过我的只导入一个,不知道为什么


测试:报错

小王也没有加上去

以上是关于spring声明式事务的主要内容,如果未能解决你的问题,请参考以下文章

Spring的声明式事务处理怎么配置,可以在提交事务后关闭数据库连接?

Spring声明式事务

spring学习笔记声明式事务

spring中声明式事务 配置好后,在java代码中怎么使用

Spring AOP 应用:Spring 声明式事务的支持

spring 声明式事务原理解读