IDEA使用c3p0连接MySQL数据库连接失败

我的IDEA版本是2021的,用c3p0连接数据库一直连接不上,MySQL是5.7的,网上搜索的方法都试过了就是连接不上数据库。URL,username,password都是正确的,也导入了lib包,c3p0也是放在src目录下的

img

img

img

把你的报错贴出来

使用 c3p0 连接数据库遇到问题时,可以通过以下步骤排查问题:

  1. 确认 MySQL 服务器是否开启了远程连接服务,同时确认连接数据库的用户名和密码是否正确。

  2. 检查 c3p0 的配置是否正确,下面是一个示例配置:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
  <named-config name="default">
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb</property>
    <property name="user">myUserName</property>
    <property name="password">myPassword</property>
    <property name="initialPoolSize">2</property>
    <property name="minPoolSize">1</property>
    <property name="maxPoolSize">10</property>
    <property name="checkoutTimeout">5000</property>
    <property name="maxIdleTime">120000</property>
    <property name="acquireIncrement">1</property>
  </named-config>
</c3p0-config>

其中 driverClass 需要指定 MySQL 的 JDBC 驱动程序类,jdbcUrl 需要指定相应的数据库链接URL,user 和 password 需要设置正确的用户名和密码。

  1. 确认 MySQL 的 JDBC 驱动程序是否已经添加到类路径中,在 IDEA 中需确认在模块的 Dependencies 中已经添加了 MySQL JDBC 驱动程序相关的 .jar 包,可以尝试在代码中使用 Class.forName("com.mysql.jdbc.Driver") 进行加载,判断加载成功与否。

  2. 使用以下代码尝试连接数据库,查看是否报错:

public class TestC3p0 {

    public static void main(String[] args) {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
        dataSource.setUser("myUserName");
        dataSource.setPassword("myPassword");
        try {
            Connection connection = dataSource.getConnection();
            System.out.println(connection);
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

如果以上方法仍然无法解决问题,建议查看错误日志文件,分析导致连接失败的原因,进一步排查问题。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7710888
  • 这篇博客你也可以参考下:IDEA使用C3P0连接Mysql数据库
  • 除此之外, 这篇博客: 解决idea使用c3p0无法远程连接阿里云MYSQL的问题中的 贴上修改的坐标! 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

  • <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>LATEST</version>
    </dependency>
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version> LATEST</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    

    该坐标由maven管理,修改过后,重新运行数据库连接成功!