问题说明
学习过程中遇到很多问题,记录一下。
Maven静态资源过滤问题
<!--在build中配置resource,来防止我们资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
Junit测试时,可能会提示
org.apache.ibatis.binding.BindingException: Type interface com.melodyhub.dao.UserDao is not known to the MapperRegistry.
MapperRegistry
是什么?
每一个Mapper.xml都需要在MyBatis核心配置文件中注册!!!
<!--每一个Mapper.xml都需要在MyBatis核心配置文件中注册!!!-->
<mappers>
<!--<mapper class="com.melodyhub.dao.UserMapper"/>-->
<mapper resource="com/melodyhub/dao/UserMapper.xml"/>
</mappers>
mysql时区
由于MySQL底层是使用的时区是CST,跟中国时间相差挣好8个小时。
解决办法是在mybatis-config.xml
中``jdbc的
url`末尾加上,二选一即可:
&serverTimezone=GMT%2B8
&useTimezone=true&serverTimezone=UTC
参考:https://blog.csdn.net/ziningyihao/article/details/90644295
MySQL驱动/版本问题
所有的代码都没有问题,但是就是连接不上数据库,经过排查,发现我的MySQL版本是8.0,驱动包是5.1.47,差距太大,不兼容。
将MySQL降级到5.7.29,问题解决。
解决Mybatis报错Could not find resource mybatis-config.xml
下午移植远程仓库项目的时候,控制台报错:
java.io.IOException: Could not find resource mybatis-config.xml
经过排查,发现是我没有一直夫工程的pom.xml文件。
Maven clean
清除缓存,然后build
,即可。
MyBatis问题解决Error building SqlSession.
解决 以上是关于MyBatis入门踩坑记录的主要内容,如果未能解决你的问题,请参考以下文章