一、原因:
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了。

本文介绍了在SpringBoot项目中使用MyBatis逆向工程时遇到的一个常见问题:Mapper.xml文件未能被正确加载,导致运行时报错。文中详细解释了问题产生的原因,并给出了具体的解决步骤,帮助开发者避免此类问题。
844

被折叠的 条评论
为什么被折叠?



