接手了一个新项目,该项目的mybatis对应的mapper文件不是放在resources目录下的,是放在java目录下的,如图所示:
mybatis配置如下:
mybatis-plus.type-aliases-package=com.miaodi.channel.common.data.object
mybatis-plus.mapper-locations=classpath*:**/mapping/*.xml
运行报错,提示,
org.apache.ibatis.binding.BindingException: Invalid bound statement
为哈会报错呢?原因是,猜测默认打包时 mybatis扫描不到 java目录下的classparh
解决办法,在pom文件中加入
<build>
<resources>
<resource>
<directory>src/main/webapp</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
参考 https://blog.youkuaiyun.com/jinzhencs/article/details/50595476,评论中
体现的是约定大于配置的思想,当然是可以改的了,需要去pom.xml文件加上一段<build>代码,自行百度搜索,或者去B站看狂神说mybatis教程的第二个视频“第一个mybatis程序”的第52分钟,看看人家怎么解决这个问题