关于数据库链接connection是否需要关闭的问题

项目中用的是druid连接池,持久层用的是MyBatis,但是项目中需要用到直接执行SQL语句的需求,于是我通过

@Autowired
private SqlSessionFactory sessionFactory;
获取到了sessionFactory,然后通过sessionFactory.openSession()获取到了SqlSession,最后用SqlSession.getConnection();获取到了connection,别问我为什么这么费劲....因为需要用到事务手动管理,到了这一层,我才可以手动控制是否自动提交事务,但是问题来了,现在这种情况下,我如果不主动close这个connection,那么这个connection是否会泄露呢,换种说法,这个connection是否还受druid管理呢?

还是我自己回答一下吧,根据实测发现,在运行了30分钟后,报了图片说明这么一大坨异常,这一坨异常就是触发了图片说明druid的这个设置,然后连接被回收。

建议还是关闭,你可以用单例模式维护一个connection对象,自始至终都有效。也不用关闭。

你可以通过一个变量保存这个connection,这样当这个变量不会释放时,connection都一直持有,变量释放的时候,就也断开connection

为什么没人啊。。。。