登录
首页 >  数据库 >  MySQL

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

来源:SegmentFault

时间:2023-02-17 20:41:59 427浏览 收藏

大家好,今天本人给大家带来文章《错误档案2:MySQL8.0连接C3P0的问题》,文中内容主要涉及到MySQL、Java、后端,如果你对数据库方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

>>>跳过BB,空降正文

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


问题出现

异常如下:

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包

解决方法

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

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

c3p0-config.xml

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

  1. 检查jar包是否导入。

jar包
  1. 检查mysql连接java的jar的版本与数据库的版本是否一致。重点来了!
    登录数据库查看数据库版本:
    com.mysql.cj.jdbc.Driverjdbc:mysql://localhost:3306/t2?useSSL=false&serverTimezone=UTC

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


    结论

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

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

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

    以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表