前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >错误档案2:MySQL8.0连接C3P0的问题

错误档案2:MySQL8.0连接C3P0的问题

原创
作者头像
白墨是个程序猿
修改2021-05-28 10:02:38
1K0
修改2021-05-28 10:02:38
举报
文章被收录于专栏:百墨阁

前言

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

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


问题出现

异常如下:

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

项目配置如下:

首先是测试用的DBUTil类:

代码语言:txt
复制
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包:

jar包
jar包

解决方法

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

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

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

  1. 检查jar包是否导入。
jar包
jar包
  1. 检查mysql连接java的jar的版本与数据库的版本是否一致。重点来了! 登录数据库查看数据库版本:mysql -u root -p
mysql版本
mysql版本
  1. 检查xml文件中的配置。检查后发现驱动类和URL不适用于mysql8.0,需要修改。 修改后如下:
代码语言:txt
复制
<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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 问题出现
  • 解决方法
  • 结论
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档