解决springboot druid数据库连接池连接失败后一直重连问题
druid数据库连接池连接失败后一直重连问题
当数据库暂停或者拒绝连接时,druid会一直连接
增加如下配置可以解决重连问题
spring.datasource.druid.break-after-acquire-failure=true spring.datasource.druid.connection-error-retry-attempts=3
druid数据库连接池技术的实现与常见错误
第一步,win+R cmd进入到doc窗口,敲入mysql -V
一定要查看你mysql数据库的版本!!(以下是博主的)

mysql5.6使用的是 mysql-connector-java-5.1.26-bin.jar
更高的mysql版本需要使用 mysql-connector-java-8.0.19.jar(最新版本)数据库版本不对应会导致连接失败的。
mysql-connection-java的jar包 官网下载点击

不用登录,直接下载


如果你不想下载最新版本,点击Archives即可


下载完毕就要导入jar包 如图所示你正确导入包之后会出现小三角符号。

第二步,写好配置文件jdbc.properties
分两种:
#这个是mysql5.5版本的配置文件 username=用户名 password=密码 #url 注意这个book 表示你要连接的数据库 url=jdbc:mysql://localhost:3306/book driverClassName=com.mysql.jdbc.Driver initialSize=5 maxActive=5
#这个是mysql更高版本的配置文件 username=用户名 password=密码 #url 注意这个book表示你要连接的数据库 url=jdbc:mysql://localhost:3306/book?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false driverClassName=com.mysql.cj.jdbc.Driver initialSize=5 maxActive=5
以上如果配置文件写的不对也会报错。
最后,直接上阿里Druid数据库连接池静态代码块
public class JavaUtils { //实现数据库连接和关闭的封装 体会Java编程的思想
private static DruidDataSource dataSource;
static {
try {
// 读取jdbc.properties属性的配置文件
Properties properties = new Properties();
//从流中加载数据
InputStream inputStream = JavaUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
properties.load(inputStream);
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
System.out.println(dataSource.getConnection());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
/* 关闭连接 放回数据库连接池*/
public static void closeSources(PreparedStatement ps, Connection con) {
try {
if (ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}然后我又遇到的错误了 ,原因是配置文件的路径不对而报错(而且是疯狂爆红一直不停的那种)。

如果遇到报空指针异常,原因错误也很简单,我当时dataSource对象没有new出来却用它来调用方法,本人也尝试一直打断点调试找bug但没找到原因,归根结底是我没有好好理解每一行代码的含义,就一直拿着错误去百度,花了很多时间,也算是积累了经验教训了。如果出现以下就算连接成功。但当看到红字我以为又失败了哈哈

其实我之前用jdbc连接数据库是没有什么毛病的,但是我们要知道:


以上两张图片摘自尚硅谷宋红康jdbc核心技术。
总结
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JAVA LinkedList和ArrayList的使用及性能分析
JAVA LinkedList和ArrayList的使用及性能分析,这篇文章也是以JAVA List的总结。2013-11-11
springboot整合Quartz实现动态配置定时任务的方法
本篇文章主要介绍了springboot整合Quartz实现动态配置定时任务的方法,非常具有实用价值,需要的朋友可以参考下2017-10-10
关于SpringBoot的spring.factories文件详细说明
spring.factories 文件是 Spring Boot 自动配置机制的核心部分之一,它位于每个 Spring Boot 自动配置模块的 META-INF 目录下,经常看到 spring.factories 文件,却没有对它进行深入的了解和分析,今天我们就一起揭开面纱看看它的内在,需要的朋友可以参考下2024-12-12
Java使用Collections工具类对List集合进行排序
这篇文章主要介绍了Java使用Collections工具类对List集合进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-10-10


最新评论