开发者

解决springboot druid数据库连接池连接失败后一直重连问题

开发者 https://www.devze.com 2022-11-29 13:02 出处:网络 作者: enjoy嚣士
目录druid数据库连接池连接失败后一直重连问题druid数据库连接池技术的实现与常见错误第一步,win+Rcmd进入到doc窗口,敲入mysql-V第二步,写好配置文件jdbc.properti...
目录
  • druid数据库连接池连接失败后一直重连问题
  • druid数据库连接池技术的实现与常见错误
    • 第一步,win+R cmd进入到doc窗口,敲入mysql -V
    • 第二步,写好配置文件jdbc.properties
  • 总结

    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数据库的版本!!(以下是博主的)

    解决springboot druid数据库连接池连接失败后一直重连问题

    mysql5.6使用的是 mysql-connector-Java-5.1.26-bin.jar

    更高的mysql版本需要使用 mysql-connector-java-8.0.19.jar(最新版本)数据库版本不对应会导致连接失败的。

    mysql-connection-java的jar包 官网下载点击

    解决springboot druid数据库连接池连接失败后一直重连问题

    不用登录,直接下载

    解决springboot druid数据库连接池连接失败后一直重连问题

    解决springboot druid数据库连接池连接失败后一直重连问题

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

    解决springboot druid数据库连接池连接失败后一直重连问题

    解决springboot druid数据库连接池连接失败后一直重连问题

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

    解决springboot druid数据库连接池连接失败后一直重连问题

    第二步,写好配置文件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?serverTimezohttp://www.devze.comne=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();
      js          //从流中加载数据
                InputStream inputStream = JavaUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
    
                proper开发者_JAVA学习ties.load(inputStream);
    
                dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
                System.out.println(dataSource.getConnection());
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        public static void mainwww.devze.com(String[] args) {
    
        }
      /*  关闭连接 放回数据库连接池*/
        public static void closeSources(PreparedStatement ps, Connection con) {
            try {
                if (ps != null)
                    ps.close();
            } catch (SQLException e) {
                e.priphpntStackTrace();
            }
            try {
                if (con != null)
                    con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    然后我又遇到的错误了 ,编程客栈原因是配置文件的路径不对而报错(而且是疯狂爆红一直不停的那种)。

    解决springboot druid数据库连接池连接失败后一直重连问题

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

    解决springboot druid数据库连接池连接失败后一直重连问题

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

    解决springboot druid数据库连接池连接失败后一直重连问题

    解决springboot druid数据库连接池连接失败后一直重连问题

    以上两张图片摘自尚硅谷宋红康jdbc核心技术。

    总结

    这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号