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的声明式事务处理怎么配置,可以在提交事务后关闭数据库连接?