一、原因:
mybatis逆向工程时,将Mapper 的interface类与Mapper.xml文件放到一个包下,这在Spring是可以的(且是推荐方法)。
但在SpringBoot中,在打包时,默认是不能将源码包中mapper.xml文件打包到war包中,就会产生Invalid bound statement (not found),找不到mapper.xml文件。
可以在打包后查看target文件夹中的mapper包,是没有包括xml文件的。
二、解决方法:
1. 在Mybatis逆向工程后(mapper.xml文件名须与mapper.java文件名一致),将mapper.xml放到resources目录中。如mybatis/mapper/*.xml。
2. 在application.properties中配置这个mapper.xml位置信息。
mybatis.mapperLocations=classpath:mybatis/mapper/*.xml
再次打包就可以在目录mybatis/mapper/*.xml中看到xml文件,并且mapper接口类也可以映射到mapper.xml了。