解决关于动态web项目的c3p0连接池连接不了的问题

一. 出现报错的情况

  • ‘com.mysql.jdbc.Driver’ is deprecated.The new driver class is ‘com.mysql.cj.jdbc.Driver’
  • com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector
  • The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrec

二. 解决方法

2.1 解决’com.mysql.jdbc.Driver’ is deprecated.The new driver class is ‘com.mysql.cj.jdbc.Driver’

这是因为在使用c3p0获取数据库连接时,mysql8以后的版本都已经事先加载完mysql驱动了,所以我们需要做的是

  1. 下载最新的mysql的jdbc的jar包
  2. 在动态web项目中的WebContent文件夹->WEB-INF文件夹下,创建名为lib文件夹,将刚刚下载好的jdbc的jar包粘贴到lib文件夹里面
  3. 将lib里面的jar包全部add to build path
  4. 修改c3p0的xml配置信息,特别注意jdbcUrl和driverClass属性,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
  <!-- named-config的name属性值就是当前配置的一套配置名
       在创建连接池时可以根据配置名加载此套配置信息
   -->
  <named-config name="webDataSource">
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/bookstore?rewriteBatchedStatements=true</property>
    <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
    <property name="user">root</property>
    <property name="password">123456</property>
    <!-- 最小连接数 -->
    <property name="minPoolSize">5</property>
    <!-- 最大连接数 -->
    <property name="maxPoolSize">30</property>
    <!-- 初始化的连接数 -->
    <property name="initialPoolSize">10</property>
     <!-- 需要时一次性创建的连接数 -->
    <property name="acquireIncrement">5</property>
    <!-- 缓存多少个Statement对象 -->
     <property name="maxStatements">15</property>
   </named-config>
</c3p0-config>
2.2 解决com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector
  1. 查看c3p0配置文件,看一下jdbcUrl属性的链接有没有写错,尤其是数据库名字、端口号经常会写错
  2. 查看c3p0配置文件的driverClass属性,修改成com.mysql.cj.jdbc.Driver
  3. 查看c3p0配置文件的user和password属性有没有写错
2.3 解决The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrec

出现此原因是我们在安装mysql的时候默认为美国的时区,而我们中国大陆要比他们迟8小时,采用+8:00格式

  1. ==打开你安装的mysql路径,找到并打开my.ini文件,如下图:
    在这里插入图片描述
  2. 在my.ini文件中添加以下代码,注意,必须在mysqld节点内添加
default-time-zone='+8:00'
  1. 效果如下:
    在这里插入图片描述
  2. 右击我的电脑->管理->服务和应用程序->MySQL,重启服务,如下图:
    在这里插入图片描述
  3. 关闭myeclipse软件,重新启动即可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值