org.hibernate.exception.JDBCConnectionException:could not execute query原因及解决方法

阅读更多


或者是报错:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communicationslink failure
网站部署好之后是可以好好运行的,但是,总是隔一段时间就会报org.hibernate.exception.JDBCConnectionException:could not executequery错误,在网上查了一下说是因为mysql数据库默认连接时间的问题,mysql默认连接时间是8个小时,所以,一般如果访问不多的网站来说,如果隔8个小时没有与数据库的连接,那就会报这个错误.

查了一些资料,有两大方向的解决方案吧:

一. 修改数据库设置

步骤一:进入数据库,看一下wait_timeout 的值:

Show global variables like ‘wait_timeout’;


28800秒就是8小时

步骤二:修改wait_timeout的值:

Set global  wait_timeout=1814400;


看一下变了没有:


步骤三:最后重启tomcat.

这种方法有一个局限,那就是这样设置的话,总有一个时间限制.所以,最好使用下面的方法.

二. 使用数据库连接池.

这个方法还没有测试成功.但是这个应该是最好的解决方法.
使用c3p0连接池,试验中。。。

你可能感兴趣的:(hibernate,spring)