Spring+Mybatis整合事务不起作用之…

本文描述了在Spring 3.1.0、Mybatis 3.1.0、mybatis-spring 1.0.0 RC3环境中,Spring+Mybatis整合时遇到的事务不起作用的问题。问题表现为插入失败不回滚,日志显示SqlSession非事务性。作者通过检查配置文件,发现问题在于bean的扫描位置,经过调整并清理工程后,事务开始生效。同时提到了如果数据库表引擎为MyISAM,也需要改为InnoDB以支持事务。建议将数据库相关的bean配置在applicationContext.xml,而MVC相关的bean配置在isap-servlet.xml。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

公司最近一个项目用到Spring和Mybatis,发现用起来挺方便,比以前的那个struts+hibernate舒服多了。废话少说,直接摆问题,碰到的问题是,mybatis不在事务中运行,后台日志报 “Closing no transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@19006c9]”错误。无论是加了@Transactional注解和是没加都报这个信息。一个方法中插入多条数据,某次插入失败也不回滚。

 

问题描述:

环境: Spring 3.1.0 + Mybatis 3.1.0 + mybatis-spring 1.0.0 RC3 + DB2 9.5 + Tomcat 6.0.35

web工程名称: isap

配置文件:applicationContext.xml + isap-servlet.xml

先看配置信息:

applicationContext.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangleijay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值