IDEA 中使用mybatis 连接数据库 显示连接不上 或 cannot find class:com.mysql.cj.jdbc.Driver

本文介绍了如何配置MyBatis的mybatis-config.xml文件来连接MySQL数据库,特别是针对MySQL 8.0及以上版本,需将driver属性改为com.mysql.cj.jdbc.Driver。同时,为确保兼容性,需在Maven项目中添加对应的mysql-connector-java依赖,版本为8.0.24。此外,还提供了遇到Cannot find class: com.mysql.cj.jdbc.Driver错误时的排查方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 根据mybatis官方文档得,mybatis-config.xml文件中连接数据库的代码如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/table_namw"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
    
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <!-- 将sql映射文件注册到全局配置文件中-->
            <mapper resource="EmployeeMapper.xml"/>
        </mappers>
    </configuration>
    
  • 如果使用的mysql是8.0以上,则需将driver属性改为以下内容:

     <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
    
  • 更改后还需在maven中添加mysql对应版本的依赖

           <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.24</version>
            </dependency>
    

ref:

MyBatis入门三:MyBatis基本使用一:MyBatis环境配置;(包括,pom引入Mybatis依赖;IDEA配置数据库;引入演示用SQL;mybatis-config.xml配置文件编写;)_小枯林的博客-优快云博客

Mybatis报错Cannot find class: com.mysql.cj.jdbc.Driver排查踩坑记录 - Angelatyd - 博客园 (cnblogs.com)

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.cj.jdbc.Driver ### The error may exist in mapper/EmpDao.xml ### The error may involve org.yxt.Dao.empDao.empList ### The error occurred while executing a query ### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.cj.jdbc.Driver at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:57) at com.sun.proxy.$Proxy0.empList(Unknown Source) at Test.main(Test.java:29) Caused by: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.cj.jdbc.Driver at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.initializeDriver(UnpooledDataSource.java:241) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:220) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:216) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:95) at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:422) at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:89) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openC
03-26
D:\javaJDK17\bin\java.exe "-javaagent:D:\编程软件\idea2022\IntelliJ IDEA 2022.1.3\lib\idea_rt.jar=4912:D:\编程软件\idea2022\IntelliJ IDEA 2022.1.3\bin" -Dfile.encoding=UTF-8 -classpath "D:\IDEA java\javaWeb\Maven\maven-project01\target\classes;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\org\mybatis\mybatis\3.5.5\mybatis-3.5.5.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\ch\qos\logback\logback-core\1.2.6\logback-core-1.2.6.jar;D:\Maven\apache-maven-3.9.3-bin\apache-maven-3.9.3\mvn_store\ch\qos\logback\logback-classic\1.2.6\logback-classic-1.2.6.jar" Demo1.HelloWord Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${com.mysql.jdbc.Driver} ### The error may exist in UserMapper.xml ### The error may involve test.selectAll ### The error occurred while executing a query ### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${com.mysql.jdbc.Driver} at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:135) at Demo1.HelloWord.main(HelloWord.java:23) Caused by: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${com.mysql.jdbc.Driver} at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.initializeDriver(UnpooledDataSource.java:244) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:223) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:219) at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:95) at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:432) at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:89) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:139) at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:61) at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:89) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) ... 3 more
07-22
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值