javaweb数据库bug,java.lang.ClassNotFoundException: com.mysql.jc.jdbc.Driver

刚刚再写javaweb项目的jdbc的时候,报了一个错误,数据库驱动的问题。maven中jar包都有
但是我写service业务层的时候已经测试过了,可以拿到数据,访问数据库是没有问题的

img

img

写成com.mysql.cj.jdbc.Driver

加载驱动类的地方用的是com.mysql.jc.jdbc.Driver吧
看下这处代码,正确写法:

Class.forName("com.mysql.jdbc.Driver");

导致找不到对应的驱动类而报错。
用的是5.x版本的数据库依赖包,对应的驱动类就是

com.mysql.jdbc.Driver

你的驱动包名写错了应该是com.mysql.jdbc.Driver

  • 驱动名 带cj的,相关的mysql驱动的版本要 8.x
  • mysql驱动版本 5.x ,则驱动名没有 cj。
  • 你现在运行报了cj的错,那就是你web项目中有使用了cj的驱动,但你的驱动包是 5.x的,它找不到对应的驱动类。
  • 如果确认本地配置没问题,重新清理项目,编译再部署到服务器再试
  1. 先确认数据库版本是否匹配,和你自己的jar文件
  2. 确认你的java web目录下的项目依赖必须在web项目目录下,如果引用不了会报这个错
  3. 确认IDEA里面Drive菜单下mysql的驱动版本是否正确

基本这三个确认完没问题应该就解决了

加载的mysql驱动是不是不对,8.x版本应该是com.mysql.jc.jdbc.Driver,低于8.x版本采用com.mysql.jdbc.Driver。

请确认下数据库相关的配置:数据源、驱动名称、地址、用户名密码。jdk版本和驱动版本是否对应。
附个人可以使用的配置:

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
spring:
  # 数据源
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/csvswitch?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=true
    username: root
    password: root

是否依赖多引用了,目前调用的是包含cj版本的jar包,检查pom.xml 文件