当前位置:首页 » 《随便一记》 » 正文

c3p0数据库连接池的jar包版本问题,软件问题_唯莹~的博客

28 人参与  2022年05月25日 14:33  分类 : 《随便一记》  评论

点击全文阅读


问题: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连接池的时候就不会出现软件问题了~

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

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


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/40733.html

版本  这是  连接池  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 苏妤熙贺学州是什么小说(贺学州苏妤熙)(苏妤熙贺学州)全本完整清爽版在线+无广告结局
  • 高考结束首富爸爸要与我断亲,我选择接受(王阳沈傲天沈明)全书浏览_高考结束首富爸爸要与我断亲,我选择接受全书浏览
  • 重生高考填报志愿时,我放任全班上大专(颜禾晚宋津年叶淼淼)_重生高考填报志愿时,我放任全班上大专(颜禾晚宋津年叶淼淼)
  • 开局从魔兽进化听书_夜天无广告阅读_小说后续在线阅读_无删减免费完结_
  • 沈南舟的高考前,千金校花把全班送进ICU精彩节选江染沈南舟全书在线
  • 挖我仙骨送女主?我反抢女主系统小说(楚鱼)小说全集阅读连载中(挖我仙骨送女主?我反抢女主系统)_笔趣阁
  • 完结文重生后我放弃才子,嫁给了傻子列表_完结文重生后我放弃才子,嫁给了傻子(萧云瑾云清柔)
  • 从此山河皆过客(苏雾眠沈砚舟)_从此山河皆过客
  • 重生后,我笑送全班去三亚毕业旅行前言+后续+结局(徐凯)
  • 春知晓梦不觉精心打造(阮清歌薄时谦)_春知晓梦不觉精心打造(阮清歌薄时谦)
  • 我怀孕后,患者要求我打掉孩子帮她后续结局_许燕徐燕高分神作_小说后续在线阅读_无删减免费完结_
  • 全书浏览重生后联姻丈夫爱上KTV小妹,我死遁了(姜满裴聿琛温舒柠)_重生后联姻丈夫爱上KTV小妹,我死遁了(姜满裴聿琛温舒柠)全书结局

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1