SpringMVC+Mybatis配置事务,回滚失败。

WEB.XML:<context-param><param-name>contextConfigLocation</param-name><param-value>cla... WEB.XML:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-jdbc.xml</param-value>

<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>Spring-Servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Spring-Servlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

application-springmvc.xml:
<cxt:component-scan base-package="com.gta.xlep">
</cxt:component-scan>

application-jdbc.xml:
<!-- 5. 使用声明式事务 -->
<aop:config>
<aop:advisor pointcut="execution(* com.gta.*.service.*Impl.*(..))"
advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="query*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="*" propagation="REQUIRED" rollback-for="java.lang.Exception" />
</tx:attributes>
</tx:advice>
<tx:annotation-driven transaction-manager="transactionManager" />

com.gta.xlep.service.SingleTableServiceImpl
public void saveOrganization(OrganizationVo organization) {}
展开
 我来答
鈾氶瓏鈾
2016-11-16 · 知道合伙人软件行家
鈾氶瓏鈾
知道合伙人软件行家
采纳数:718 获赞数:1337

向TA提问 私信TA
展开全部
数据库:mysql
配置正常,但是事务确无法回滚的奇葩问题
弄了一上午,最终找到问题是由于我在建表的时候并没有指定“ENGINE”,而我当前的数据库版本默认的为“ENGINE=MyISAM”
注意:“MyISAM”是不支持事务的,优点好像是性能比较好
把他改为“InnoDB”即可
alter table 表名 engine=innodb;
追问

和数据库无关的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1a29e6a
2016-11-16 · 超过13用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:18.8万
展开全部
<context:component-scan base-package="com.ggg.xlep" >
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
jdbc:
<!-- 启动包扫描功能 -->
<cxt:component-scan base-package="com.ggg.xlep">
<cxt:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<cxt
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式