在Mybatis中使用最新版本的mysql6.0.4驱动包时,存在以下几个问题:
1、Loading class `com.mysql.jdbc.Driver'.This isdeprecated. The new driver class is `com.mysql.cj.jdbc.Driver。
mybatis-config.xml中的配置如下:
<property name="driver" value="com.mysql.jdbc.Driver"/>
原因是因为:新版本的mysql驱动包,更换了驱动包的包名,将“com.mysql.jdbc.Driver”换成了“com.mysql.cj.jdbc.Driver”,只需要改变配置文件中的包名即可。如下:
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
java.sql.SQLException: The server time zone value '?й???????' is unrecognized or represents more than one time zone.
原因是新版驱动必须指定服务器的时区,更改配置文件如下:
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis_test?serverTimezone=UTC"/>
3、
org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource xxxxx/xxxx/xxxx/xxxxMapper.xml
原因是使用Maven构建JavaWeb项目时,不同的IDE环境会有一些区别,IDEA开发工具默认不会编译src里java目录下的xml文件, 所以在Mybatis的配置文件中找不到映射的xml文件,Eclipse目前没试过。解决办法有两个:
第一种: 不将xml放到src目录下面,将xxxMapper.xml放到Maven构建的resource目录下面!
第二种:在Maven的pom文件中,添加下面代码:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>