下面连接oracle使用apache的dbcp数据源
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
${jdbc.driverClassName}
${jdbc.url}
${jdbc.username}
${jdbc.password}
100
3
-1
false
下面连接sqlserver数据库使用的是c3p0数据源
destroy-method="close" >
使用dbcp数据源令人郁闷的事,使用dbcp和spring提供的JdbcTemplate操作数据库是查询是可以的
但是执行update、delete、insert into操作时,数据库中的数据没有变化
从网上查询了很多的资料,都无果。最后偶然看到网上有人说,dbcp数据源的事务不会自动提交,
当改成c3p0数据源后好了
随后认为这下终于可以松口气了,谁知道天不遂人愿。当更换一张表进行测试,数据库中的数据还是没有变化,难道c3p0数据源也不好使,
当再次经过代码的折磨之后,
最终发现改动测试java文件,不在一个项目中,把其他的项目关闭就好了
当文档写到这里时,突然发现oracle使用的dbcp数据源有这一项配置
false
原来dbcp数据源事务的自动提交功能被关闭了
本文探讨了从Oracle使用dbcp数据源切换到SQL Server的c3p0数据源过程中遇到的问题,焦点在于事务自动提交设置的不同导致的更新操作不生效。作者揭示了dbcp默认关闭事务自动提交,并提供了解决方法和意外发现的项目依赖因素。
980

被折叠的 条评论
为什么被折叠?



