mybatis-plus的 mapper.xml 路径配置的坑

mybatis-plus今天遇到一个问题,就是mybatis 没有读取到mapper.xml 文件。

特此记录一下,问题如下:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.husy.mapper.SystemUserMapper.findUserByName

    at com.baomidou.mybatisplus.core.override.MybatisMapperMethod$SqlCommand.<init>(MybatisMapperMethod.java:242)
    at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.<init>(MybatisMapperMethod.java:54)
    at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.lambda$cachedMapperMethod$0(MybatisMapperProxy.java:65)
    at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
    at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.cachedMapperMethod(MybatisMapperProxy.java:65)
    at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:60)
    at com.sun.proxy.$Proxy72.findUserByName(Unknown Source)
    at com.husy.service.impl.SystemUserServiceImpl.findUserByName(SystemUserServiceImpl.java:23)

参考:https://blog.****.net/u013234928/article/details/94060733?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

二:springboot项目中classpath路径到底指哪里?

1,一般springboot项目里classpath目录指的是resources文件夹 

2,其他的javaweb项目都是指:

2.1、src不是classpath, WEB-INF/classes和lib才是classpath,WEB-INF/ 是资源目录, 客户端不能直接访问。
2.2、WEB-INF/classes目录存放src目录java文件编译之后的class文件,xml、properties等资源配置文件,这是一个定位资源的入口。
2.3、引用classpath路径下的文件,只需在文件名前加classpath:
<param-value>classpath:applicationContext-*.xml</param-value> 
<!-- 引用其子目录下的文件,如 -->
<param-value>classpath:context/conf/controller.xml</param-value>
2.4、lib和classes同属classpath,两者的访问优先级为: lib>classes。
2.5、classpath 和 classpath* 区别:
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。
 
3,demo如下

mybatis-plus的 mapper.xml 路径配置的坑

三:现在是自己实际项目中的截图,第一次按照classpath*来配置ok,过了一段时间在本地前端调接口也是好好的,等放到服务器之后就报错了,错误信息看最上面,最后换成classpath:这种就好了;但是按照我的程序结构来看,即使classpath*也不应该报错,至于什么原因还不明确。

mybatis-plus的 mapper.xml 路径配置的坑 mybatis-plus的 mapper.xml 路径配置的坑