>>>跳过BB,空降正文<<<

前言

大家好呀,我是 白墨,一个热爱学习与划水的矛盾体。

前两天在使用C3P0连接池时遇到问题,运行测试用的DBUTlis类抛出了异常,可耽误了我好些时间!记录一下差错经过。


问题出现

异常如下:

java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.

项目配置如下:

首先是测试用的DBUTil类:

public class DBUtil {
static DataSource ds = new ComboPooledDataSource(); public static Connection getConn() throws SQLException {
return ds.getConnection();
} public static DataSource getDataSource() {
return ds;
} public static void main(String[] args) { try {
System.out.println(getConn());
} catch (SQLException e) {
e.printStackTrace();
}
}
}

然后是jar包:


解决方法

我们先不管上面那行报错的内容了,全部都检查一遍。可以先看4、5条。

  1. 检查DBUTil的代码,虽然有点冗余,但是没有错误,能达到测试连接成功与否的目的。
  2. 检查xml配置文件的名字是否有错,以及是否与lib包同级。

名字为“c3p0-config.xml”,且都在src目录下一级,没有问题。

3. 检查jar包是否导入。

  1. 检查mysql连接java的jar的版本与数据库的版本是否一致。重点来了!

    登录数据库查看数据库版本:mysql -u root -p

  1. 检查xml文件中的配置。检查后发现方框中的内容不适用于mysql8.0,需要修改。

    框起来的两行修改后如下:
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/t2?useSSL=false&amp;serverTimezone=UTC</property>

至此大功告成,成功连接数据库。特别感谢这篇博客给我的帮助!


结论

  1. 数据库驱动jar包要与数据库版本相对应;
  2. MySQL8.0以上的版本,URL连接需要添加时区参数。
  3. 8.0以上的驱动,驱动类选择时中间多了个cj,即com.mysql.cj.jdbc.Driver

好啦,本文到此结束!点个关注吧?点个关注吧?点个关注吧~

在公众号【白墨是个程序猿】回复【资料】获取我多年收集的各种教程、软件、电子书资源~ (收藏了=学会了)

错误档案2:MySQL8.0连接C3P0的问题的更多相关文章

  1. 初学者在Mysql8.0连接时的几个常见基本问题

    最近在做一些java web整合时使用的最新版Mysql8.0.3,发现Mysql连接中的几个问题,总结如下: package db; import java.sql.*; public class ...

  2. 使用Navicat连接MySQL8.0版本报1251错误

    出现1251错误是因为,MySQL8.0版本改变了密码的验证规则caching_sha2_password,MySQL之前的版本验证规则是mysql_native_password,现在需要修改MyS ...

  3. MySQL8.0远程连接和用户授权相关设置

    文章目录 1.开启MySQL远程连接 2.关闭MySQL远程连接 3.修改防火墙规则,开放端口 4.创建用户以及给用户授权 5.删除用户及权限 1.开启MySQL远程连接 mysql -u root ...

  4. win10安装两个不同版本的mysql(mysql5.7和mysql-8.0.19)

    win10中安装mysql5.7后,安装mysql-8.0.19 在D:\mysql-8.0.19-winx64目录下创建一个my.ini文件 [mysqld] # 设置3307端口 port # 设 ...

  5. PDO连接mysql8.0报PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers错误

    安装mysql8.0之后,尝试使用php连接mysql,总是报PDO::__construct(): Server sent charset (255) unknown to the client. ...

  6. SQLyog连接MySQL8.0报2058错误的解决方案

    引言 用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugin caching_sha2_passwo ...

  7. Navicat连接Mysql8.0.17出现1251错误 / 或者Navicat Premium出现2059错误

    Navicat连接Mysql8.0.17出现1251错误 重装了电脑之后,好多软件出了问题,经过一系列的插件安装,mysql终于安装好了 但是Navicat又抽筋了~~~额(⊙o⊙)... 在网上查的 ...

  8. dbcp_c3p0连接mysql8.0.13

    背景 学习数据库的使用,上次没有记录,现在都回忆不起来了,所以这次重新学的时候顺便记录下. 配置环境 win10 jdk11 idea mysql8.0.13 DBCP连接使用 用配置文件目前我连接不 ...

  9. 登录注册页面(连接MySQL8.0.15版本)

    原文链接:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247483779&idx=1&sn=e23e68e96 ...

随机推荐

  1. 【JavaScript】【dp】Leetcode每日一题-解码方法

    [JavaScript]Leetcode每日一题-解码方法 [题目描述] 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -& ...

  2. Day002 Java三大版本

    Java三大版本 Write Once .Run Anywhere JavaSE: 标准版(桌面程序,控制台开发......) JavaME:嵌入式开发(手机,小家电.......) JavaEE:E ...

  3. 开源囧事4:你们这些卖代码的能不能留自己的QQ号?留我QQ号干嘛?

    缘起于开源项目 从 2017 年开始,陆陆续续写了一些开源项目放到开源网站里,都是一些实战项目,给大家练练手.有基础整合的demo,有 Spring Boot 博客项目,有 Spring Boot 商 ...

  4. CCNA 第四章 轻松划分子网

    1:划分子网的的好处: (1):减少网络流量 (2):优化网络性能 (3):简化管理 (4):有助于覆盖大型地理区域 2:CIDR和ISP的概念 (1):CIDR:Classless Inter-Do ...

  5. .NET Core 中依赖注入框架详解 Autofac

    本文将通过演示一个Console应用程序和一个ASP.NET Core Web应用程序来说明依赖注入框架Autofac是如何使用的 Autofac相比.NET Core原生的注入方式提供了强大的功能, ...

  6. Windows 程序自动更新方案: Squirrel.Windows

    Windows 程序自动更新方案: Squirrel.Windows 1. Squirrel Squirrel 是一组工具和适用于.Net的库,用于管理 Desktop Windows 应用程序的安装 ...

  7. HEVC学习(一) —— HM的使用

    http://blog.csdn.net/hevc_cjl/article/details/8169182 首先自然是先把这个测试模型下载下来,链接地址如下:https://hevc.hhi.frau ...

  8. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

    vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 打开编辑,修改如下内容: BOOTPROTO=static #默认dhcp,改为static,表示启用静态 ...

  9. 创建用户(adduser和useradd)和删除用户(userdel)

    创建用户(adduser和useradd)和删除用户(userdel)及   一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser ...

  10. MySQL报错ERROR 1436 (HY000): Thread stack overrun:

    今天搭私服的时候,卡在角色创建画面,日志报错如上. 这是MySQL报错ERROR 1436 (HY000): Thread stack overrun:   修改方法 vim /etc/my.cnf ...