IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> c3p0数据库连接池的jar包版本问题软件问题 -> 正文阅读

[Java知识库]c3p0数据库连接池的jar包版本问题软件问题

问题:c3p0数据库连接池的jar包版本问题

刚开始学习连接池,对着课本上的例子写出代码,如果运行出现异常或者出现错误,就按照我步骤测试下!


首先查看自己mysql的版本

网上的视频,大部分都是mysql5.0版本,而我们下载的mysql有些却是8.0.x的版本,本文只针对mysql8.0.x的版本,mysql5.0.x的版本可以参考

平台:eclipse mysql8.0.11?

首先在项目的webcontent->web-inf->lib包中导入这三个jar包这些都可以在官网下载的

注意下载的 c3p0 jar包要与mchange-commons-java jar包和mysql-connector-java 驱动jar包以及你的mysql版本一致,不一致会报错,我这几个jar包是可以参考的.

?然后再src文件下创建一个c3p0-config.xml文件

c3p0-config.xml:

<c3p0-config>
? <!-- 使用默认的配置读取连接池对象 -->
? <default-config>
? ?? ?<!-- ?连接参数 -->
? ? <property name="driverClass">com.mysql.cj.jdbc.Driver</property><!-- 这是你的数据库驱动 -->
? ? <!-- 这是你的数据库,当然如果是本地连接也可把localhost:3303给删掉 -->
? ? <property name="jdbcUrl">jdbc:mysql://localhost:3306/mysql?useSSL=false&amp;serverTimezone=UTC</property>
? ? <!-- 这是你的数据库账号 密码 -->
? ? <property name="user">root</property>
? ? <property name="password"></property>
? ??
? ? <!-- 连接池参数 -->
? ? <property name="initialPoolSize">5</property><!-- 初始化连接数 -->
? ? <property name="maxPoolSize">10</property><!-- 最大连接数 -->
? ? <property name="checkoutTimeout">3000</property><!--超时时间?? ? ?-->
? </default-config>
<!-- 这是自定义的配置,如果想用这个配置?? ??? ?创建的时候这样写就好了?? ?javax.sql.DataSource com ?= new ComboPooledDataSource("outerc3p0");-->
<!-- 这属性同上 -->
? <named-config name="otherc3p0">?
? ? <!-- ?连接参数 -->
? ? <property name="driverClass">com.mysql.jdbc.Driver</property>
? ? <property name="jdbcUrl">jdbc:mysql://localhost:3306/mysql</property>
? ? <property name="user">root</property>
? ? <property name="password"></property>
? ??
? ? <!-- 连接池参数 -->
? ? <property name="initialPoolSize">5</property>
? ? <property name="maxPoolSize">8</property>
? ? <property name="checkoutTimeout">1000</property>
? </named-config>
</c3p0-config>

?这里要注意的是:在此处要注意版本的不同的差异,如果时mysql 5.x 则在配置文件中
写 <property name="jdbcUrl">jdbc:mysql://localhost:3306/mysql?useSSL=false</property>
如果是mysql 8.0版本之后,<property name="jdbcUrl">jdbc:mysql://localhost:3306/mysql?useSSL=false&amp;serverTimezon</property>

当然注册驱动的时候也要注意mysql5.x之前?

注册驱动:com.mysql.jdbc.Driver

mysql8.x之后就为:com.mysql.cj.jdbc.Driver

完成以上操作就可以来测试啦:

创建一个c3p0Dem01类:

package cn.itcast.c3p0;

import java.sql.Connection;
import java.sql.SQLException;

import org.apache.tomcat.jdbc.pool.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class c3p0Demo01 {
	
	public static void main(String[] args) throws SQLException {
		//创建数据库连接池对象
		javax.sql.DataSource com  = new ComboPooledDataSource();
		//获取连接对象
		Connection conn = com.getConnection();
		System.out.println(conn);
	}
}

运行一下:?

?红色的为一些日志,现在不用管,可以看到连接的对象被打印出来了

原因分析:

原因:版本问题 mysql 8.x的版本必须要与mysql8.x的驱动jar包给对应

并且很重要的一点就是mysql8.0.x版本的驱动jar包必须要与jdk1.8及以上版本匹配才可以使用

这样在以后用c3p0连接池的时候就不会出现软件问题了~

我也是刚开始学习数据库连接池,遇到了这些问题,在网上查了一堆资料,找到的解决方法.如果有些不完善的地方,多多包涵~~

帮你解决了问题的话,点个赞吧!谢谢啦

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:12:16  更:2021-11-22 12:14:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:03:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码