背景
做某个saas项目的时候,我把用户、角色、菜单、字典等模块弄成了一个基础包,想着如果之后又类似的项目的时候可以偷个懒 直接引用基础包就可以了。 当我引用的时候出现了这个问题
Invalid bound statement (not found):xxx
分析思路
这个问题一般情况下是mapper层有问题,但我单独启动基础包调用也没这个问题。 当时就觉得比较奇怪。 后续看了下配置,觉得应该是配置的原因,特此记录一下。
配置如下:
mybatis-plus.mapper-locations=classpath:mapper/*.xml
如果说我们引入了基础包的话,基础包中如果有mapper层的话 我们应该这样
mybatis-plus.mapper-locations=classpath*:/mapper/*.xml
少写了一个*
使用 classpath*的话: 表示在类路径下递归查找,这意味着它会在所有的 JAR 文件和类路径中查找匹配的文件。
使用 classpath: 表示在类路径下查找,但不会递归查找。
补上之后就再次启动调用就不存在问题。