日期:2014-05-19  浏览次数:20645 次

spring+ibatis连接数据库如果用到getDatasouce,getconnection要关闭吗
程序特殊情况,有个地方不得不getSqlMap后,getDatasouce().getConnection(),这样用完之后,取得的conn要显示调用close关闭吗

开始没有显示关闭,因为连接池是在web容器中配置的,datasouce是JNDI配置的,觉得显示close关闭了,会不会有个连接被关闭的sqlmap被spring使用,以后依赖注入时把这个sqlmap注入。但系统出现了一段时间后连不上数据库的问题,怀疑是程序有连接未释放,于是想到程序有个特殊的地方,就是用sqlMap来getDatasouce().getConnection()来取得conn,然后用标准的jdbc方式访问了数据库,但是没有close这个conn。

脑子有点乱,可能没说清,大家多包涵

------解决方案--------------------
getDatasouce().getConnection() 读取当前connnect之前需要开启事物,否则取不到返回null,用完需要关闭事物.
Connection不用也不能关。