出现原因:
1、超时
一般druid数据库连接池默认会超时关闭,默认时间为300秒(5分钟)
解决方法1:
修改配置文件中超时最大时间
jdbc.removeAbandonedTimeout=想要设定的值。
解决方法2:
关闭超时关闭连接,同样是在配置文件中修改
jdbc.removeAbandoned=false(默认是开启的)
2、连接提前关闭
在事务当中,如果事务提交了,并且后面有的方法没有获取连接(调用JDBCUtils.getConnection()),而进行与数据库的交互,这个时候就会出现该异常。
解决方法:
每个与数据库交互的方法,都自己获取连接,而不是定义一个实例连接变量,连接一关闭,这个变量的引用就是null,自然不会有连接可用。