Spring boot和hibernate mysql数据库连接不断断开

Posted

技术标签:

【中文标题】Spring boot和hibernate mysql数据库连接不断断开【英文标题】:Spring boot and hibernate mysql database connection keep on disconnecting 【发布时间】:2016-12-20 19:22:39 【问题描述】:

我的 Web 应用程序现在运行良好,并将数据保存到 mysql 数据库。只有我无法理解连接的一件事是,它会在一段时间后断开数据库上的连接,我需要继续停止并重新启动 Tomcat 以保持与应用程序的连接处于活动状态。 我需要在 tomcat 网络服务器或 mysql 数据库中设置任何会话超时吗?

下面是我在 spring boot 中的 application.properties。

debug=true

spring.datasource.url=jdbc:mysql://localhost/database
spring.datasource.username=username
spring.datasource.password=pass
spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.jpa.hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true

logging.level.org.hibernate.SQL=DEBUG


Below is the exception:

Exception: org.springframework.dao.DataAccessResourceFailureException: could not prepare statement; nested exception is org.hibernate.exception.JDBCConnectionException: could not prepare statement

感谢您的帮助。

唐纳德

【问题讨论】:

请发布您的 jdbc 连接 url。一定是这样的url="jdbc:mysql://localhost:3306/hposg 请查看this是否有帮助 spring.datasource.testOnBorrow=true spring.datasource.validationQuery=SELECT 1 【参考方案1】:

这对我有用。只需添加到您的 application.properties

spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1

【讨论】:

以上是关于Spring boot和hibernate mysql数据库连接不断断开的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 和 Hibernate:打印/记录 DDL

如何使用 Hibernate 和 Spring Boot 配置和监控 HikariCP

当实体自引用时,Spring Boot 和 Hibernate 无法自动创建表

使用 Spring Boot、Jackson 和 Hibernate 的多对多关系

Spring boot、mvc、hibernate 和 mysql 配置 - sessionFactory 错误

使用 Spring Boot 和 Spring Data JPA 的 Hibernate 拦截器或侦听器