关于pom中mysql-connector-java的jar包引入高版本报错的解决过程

2023-11-20

如果你是类似下面的2点配置

1.jdbc.properties文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/o2o?characterEncoding=utf8
jdbc.username=root
jdbc.password=****

 

2.POM文件
<!-- mysql数据库连接包-->
<!--这个jar包版本如果是8.0.12,则会报错-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.12</version>
</dependency>

<!-- 数据源c3p0 -->
<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
<dependency>
  <groupId>com.mchange</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.5.2</version>
</dependency>

 

看到如下红色字体错误:

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

你会去将jdbc.driver=com.mysql.jdbc.Driver改成jdbc.driver=com.mysql.jdbc.cj.Driver

结果又会报如下红色字体错误

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
### The error may exist in file [D:\SSM_maven\o2o\target\classes\mapper\AreaDao.xml]
### The error may involve com.imooc.o2o.dao.AreaDao.queryArea
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!

 

我当初就是遇到了这样的问题,查了很多的方法,都没能解决,但最后还是死马当活马医,做了如下改动,就解决了问题,还一脸懵逼,怎么会是这个原因呀!

解决方法很简单,如下:

1.降低 mysql-connector-java的jar包版本,比如降为如下

<artifactId>mysql-connector-java</artifactId>
  <version>5.1.38</version>

运行后再报如下错误

 WARN com.mchange.v2.c3p0.DriverManagerDataSource - Could not load driverClass com.mysql.jdbc.cj.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.cj.Driver

 

2.根据上面错误提示,很容易想到修改jdbc.properties,其实也就是还原最初的样子,如下

jdbc.driver=com.mysql.jdbc.Driver

3.再运行,OK

 

最后,总结如下:

<!-- mysql数据库连接包-->
<!--这个jar包版本如果是6.x.x及以上,则会报错,所以改成5.x.x-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.38</version>
</dependency>

<!-- 数据源c3p0 -->
<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
<dependency>
  <groupId>com.mchange</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.5.2</version>
</dependency>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于pom中mysql-connector-java的jar包引入高版本报错的解决过程 的相关文章

随机推荐

  • ASI ‘CFNetwork SSLHandshake failed (-9824)‘

    文章目录 ASI CFNetwork SSLHandshake failed 9824 问题 解决 思考 参考 ASI CFNetwork SSLHandshake failed 9824 10年的老项目 网络库使用是ASIHTTPRequ
  • 微信小程序自动化测试pytest版工具使用方法

    mini https github com zx490336534 pytest mini 微信小程序自动化测试pytest插件 工具 基于MiniTest进行pytest改造 使用方法 准备测试小程序 根据miniprogram demo
  • 自己动手写操作系统(一)

    本系列文章将一步步实现一个简单的操作系统 实验环境是在Linux系统下通过Bochs虚拟机运行我们自己写的操作系统 一 实验环境搭建 1 Ubuntu的安装 Windows用户可以选择在虚拟机中安装Ubuntu 具体安装教程可自行搜索 2
  • UDIMM、LRDIMM、RDIMM三种内存的区别

    目前使用的内存条类型 DIMM 主要有三种 UDIMM RDIMM和LRDIMM UDIMM UDIMM 全称Unbuffered DIMM 即无缓冲双列直插内存模块 指地址和控制信号不经缓冲器 无需做任何时序调整 直接到达DIMM上的DR
  • JavaScript Array splice() 方法

    定义 splice 方法向 从数组添加 删除项目 并返回删除的项目 用法 array splice index howmany item1 itemX 参数 index index 必需 类型为整数 指定在什么位置添加 删除项目 使用负值指
  • Go_关键字、编译、转义字符

    关键字 关键字是指被go语言赋予了特殊含义的单词 共25个 关键字不能用于自定义名字 只能在特定语法结构中使用 break default func interface select case defer go map struct cha
  • 汽配企业如何利用MES管理系统优化生产流程

    随着汽车市场个性化需求不断增强 汽配企业急需数字化转型来满足客户需求 如何优化生产流程 提高生产效率和产品质量成为了关键问题 汽配企业MES管理系统可以通过数字化技术和智能化设备 优化生产流程 提高生产效率和产品质量 下面 我们将介绍汽配企
  • react(craco)移动端使用postcss-px-to-viewport自适应布局

    Craco 使用postcss px to viewport devDependencies craco craco 6 4 3 xianzhengquan postcss px 2 vw 0 0 1 postcss 8 3 0 peerD
  • java I/0操作 FileWriter类

    package filewriter p1 import java io FileWriter import java io IOException public class FileWriterDemo 获取当前系统的换行符 获取指定键指
  • ssh Forward X11

    参考链接 https www jianshu com p 24663f3491fa https www cnblogs com tsfh p 9022170 html https blog csdn net lvbian article d
  • Vue中修改浏览器图标Logo

    1 找到index html文件 2 修改这段代码中的图片 3 图标没有变化的话清除一下游览器缓存
  • linux查看根目录下所有文件夹大小的方法

    linux查看根目录下所有文件夹大小的方法如下 1 进入根目录 cd 2 使用命令 du sh 查看根目录下每个文件夹的大小3 进入占用空间比较大的文件夹 然后再使用2中命令查找大文件 原文地址 https zhidao baidu com
  • git的使用场景

    Git 是一种分布式版本控制系统 常用于管理软件开发过程中的代码 以下是 Git 的一些常见使用场景 代码版本控制 Git 可以跟踪代码的历史变更 并在必要时还原代码到以前的某个版本 分支管理 Git 可以创建多个分支 使得多个开发者能够并
  • 以太坊创始人Vitalik Buterin北京演讲:Casper与分片技术最新进展

    三言财经6月3日现场报道 在今天的以太坊技术及应用大会上 以太坊创始人Vitalik Buterin做了题为 Casper与分片技术最新进展 的主题演讲 V神在演讲中阐述了Casper和分片的技术流程 以及如何在系统中成为验证者验证节点 对
  • 中国中间件第一人---袁红岗

    最早开发Windows上的企业应用软件 打造独立知识产权的EJB服务器Apusus 很多JAVA程序员对袁红岗极其佩服 源于他做了很多人不敢想更不敢做的事情 这就是他打造了国产的EJB服务器 很快 金蝶将在国内推出自主产权EJB服务器的3
  • 小白也能快速学会的Micropython编译指南

    小白也能快速学会的Micropython编译指南 大家好 我是CSDN上的 上坂龍二 哦 今天给大家带来的是 如何快速一次成功地将Micropython和自己喜欢的模块编译进自己的Esp32固件中哦 事前准备 Python python的环
  • 【MySQL系列】--初识数据库

    个人主页 阿然成长日记 点击可跳转 个人专栏 数据结构与算法 C语言进阶 不能则学 不知则问 耻于问人 决无长进 文章目录 一 何为数据库 二 数据库的发展历程 三 数据库的分类 1 关系数据库 2 非关系型数据库 NoSQL 3 键值数据
  • 国军标 软件测评 静态分析常见问题总结

    违背国军标R x x x 禁止 define被重复定义 没有用 undef 解除前面的定义 违背国军标R 1 1 7 以函数形式定义的宏 参数和结果必须用括号括起来 违背国军标R 1 1 13 函数声明中必须对参数类型进行声明 并带有变量名
  • C/C++ n的阶乘 图解递归过程【简单易懂,代码可以直接运行】

    C C n的阶乘 简单易懂 代码可以直接运行 输入一个整数 n 请你编写一个函数 int fact int n 计算并输出 n 的阶乘 输入格式 共一行 包含一个整数 n 输出格式 共一行 包含一个整数表示 n 的阶乘的值 数据范围 1 n
  • 关于pom中mysql-connector-java的jar包引入高版本报错的解决过程

    如果你是类似下面的2点配置 1 jdbc properties文件 jdbc driver com mysql jdbc Driver jdbc url jdbc mysql localhost 3306 o2o characterEnco