今天使用mybatis创建demo测试的时候发现了一个bug
Caused by: org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in UserMapper.xml
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource UserMapper.xml
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:64)
at com.ssm.dzk.utils.MybatisUtils.<clinit>(MybatisUtils.java:28)
... 23 more
看报错提示:UserMapper.xml不存在。
但事实是明明已经写了为什么会找不到呢。
请看截图
发现不同了没有。编译的时候就没有编译该xml,当然找不到了。
这个是因为maven的约定大于配置就会遇到xml或者配置文件无法生效。
所以在pom.xml
加上以下代码
<dependencies>
<!--依赖-->
</dependencies>
<build>
<!--需要添加的xml代码-->
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
然后重新编译
至此bug解决!
此bug是我开发过程中遇到的一个小问题,在此记录。若能帮到你不胜荣幸。