踩坑 IDEA默认是不解析xml的
引言:
对于IDEA系列编辑器,XML 文件是不能放在 java 文件夹中的,IDEA 默认不会编译源码文件夹中的 XML 文件。
我在使用IDEA 编写Mybatis-plus时,写的自定义SQl语句总是显示 Invalid bound statement (not found)
根据报错信息可以看到是Mapper中自己写的自定义方法 没有绑定相应的SQL语句
检查了一遍配置,都没有问题,而Sprinboot启动时 log中Property 'mapperLocations' was not specified
这句提示引起了我的注意
配置中配置了mybatis-plus.mapper-locations=classpath*:**/mapper/xml/*.xml
,但启动器没扫描到,十分奇怪。
后来才知道从Mybatis-plus 官方文档找出了答案
因为对于IDEA系列编辑器,XML 文件是不能放在 java 文件夹中的,IDEA 默认不会编译源码文件夹中的 XML 文件。
果然我在POM中没有指明解析xml,在启动后生成的target 目录
下文件的mapper包下没有找到相应的xml
解决方法
将配置文件放在 resource 文件夹中
对于 Maven 项目,可指定 POM 文件的 resource