欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

测试spring框架使用c3p0连接池 连接mysql失败解决方法

程序员文章站 2022-05-01 15:33:43
...

“`
测试方法代码:package com.nie.spring.properties;

import java.sql.SQLException;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

public static void main(String[] args) throws SQLException {
    // TODO Auto-generated method stub
    ApplicationContext ctx = new ClassPathXmlApplicationContext("scope.xml");
    DataSource dataSource = (DataSource) ctx.getBean("dataSource");
    System.out.println(dataSource.getConnection());
}

}

    <!--spring配置文件scope.xml 处代码 使用外部化属性文件的属性 -->
    <property name="user" value="${jdbc.user}"></property>
    <property name="password" value="${jdbc.password}"></property>
    <property name="driverClass" value="${jdbc.driverClass}"></property>
    <property name="jdbcUrl"
        value="${jdbc.jdbcUrl}"></property>
</bean>


属性文件:
jdbc.user=root
jdbc.password=1230
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql:///book1


点击测试出现问题:这里写图片描述
问题分析:原因是找不到驱动,但是连接数据库的驱动步骤是常规操作。
查看mysql版本测试spring框架使用c3p0连接池 连接mysql失败解决方法
考虑:mysql的数据库连接驱动是否和mysql版本匹配
测试spring框架使用c3p0连接池 连接mysql失败解决方法
下载最新版本的mysql驱动

测试spring框架使用c3p0连接池 连接mysql失败解决方法
运行:

测试spring框架使用c3p0连接池 连接mysql失败解决方法
新问题出现分析:网络查阅资料后mysql的更新,mysql8.0 jdbc.driverClass=com.mysql.cj.jdbc.Driver 同时 MySQL在高版本需要指明是否进行SSL连接 useSSL=false 加上字符处理等 characterEncoding=utf-8&serverTimezone=UTC&useSSL=false

最终配置文件代码为:<!-- 使用外部化属性文件的属性 -->
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl"
value="${jdbc.jdbcUrl}?characterEncoding=utf-8&amp;serverTimezone=UTC&amp;useSSL=false"></property>
</bean>

属性文件:jdbc.user=root
jdbc.password=1230
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql:///book1

最后运行成功:测试spring框架使用c3p0连接池 连接mysql失败解决方法