Spring更新操作不会执行数据库操作
2013-04-22 16:11
274 查看
项目框架用springMVC+hibernate+spring,查询没问题,添加也没问题,但是更新的时候,数据库数据没有修改,也不报错,检查发现是事务问题,然后继续测试发现在添加的时候,即使事务还没结束,数据也会插入到数据库中,网上搜了下,最开始找下以下办法
在springmvc的配置文件里,修改自动扫描的配置,屏蔽掉service(http://www.iteye.com/problems/2646)
后来觉得这个办法不够灵活,继续搜了下,找了个更好的办法
参考(/article/3724575.html 和 http://sulong.me/2011/08/30/hibernate_update_fail)
改为
顺便把spring环境的配置文件也改下,过滤掉controller
然后有个挺奇怪的问题:(show_sql配置是true)即使事务还没结束,saveOrUpdate如果是添加,会马上打印出insert语句,但是如果是更新的话,只有在整个事务方法结束的时候才会打印
在springmvc的配置文件里,修改自动扫描的配置,屏蔽掉service(http://www.iteye.com/problems/2646)
<context:component-scan base-package="com.lmiky"> <context:exclude-filter type="regex" expression=".*ServiceImpl$" /> </context:component-scan>
后来觉得这个办法不够灵活,继续搜了下,找了个更好的办法
参考(/article/3724575.html 和 http://sulong.me/2011/08/30/hibernate_update_fail)
改为
<context:component-scan base-package="com.lmiky" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan>
顺便把spring环境的配置文件也改下,过滤掉controller
<context:component-scan base-package="com.lmiky" > <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan>
然后有个挺奇怪的问题:(show_sql配置是true)即使事务还没结束,saveOrUpdate如果是添加,会马上打印出insert语句,但是如果是更新的话,只有在整个事务方法结束的时候才会打印
相关文章推荐
- Windows任务计划 定时执行PHP代码及扩展(对数据库进行更新操作)
- Android Sqlite数据库执行插入查询更新删除的操作对比
- 利用Ibatis执行批量插入更新数据库操作
- 利用Ibatis执行批量插入更新数据库操作
- 在tomcat启动时执行一些任务,用到了spring 和hibernate可以操作数据库
- spring项目执行dao.update等更新操作失败
- JDBC操作,执行数据库更新操作
- Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源
- Android Sqlite数据库执行插入查询更新删除的操作对比
- Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源
- [讨论]有关Spring+Hibernate更新数据库的操作
- 读取大数据量excel并执行批量更新数据库操作
- java数据库编程--执行数据库更新操作
- 执行数据库更新操作
- Mysql数据库学习 (四) 数据库操作(创建删除更新表)
- hibernate和spring整合之session、hibernateTemplate、Criteria对象对数据库的操作
- FormView 显示、更新、插入、删除数据库操作[ASP.NET源代码](一)
- 应一个好友要求写一个SpringJDBC 的文章 , 介绍返回操作数据库最新id写法
- 启用事务操作,解决批量插入或更新sqlite,mssql等数据库耗时问题
- SpringBoot-创建RESTful风格的 http接口访问jpa 来操作数据库