mybatisplus查询报Invalid bound statement (not found)

问题描述
在复现一个老项目时,使用了mybatisplus,其版本为3.1.1。
结果项目启动成功,但是在使用mapper查询时,报了如下错误:Invalid bound statement (not found)

项目的mapper的xml文件是放在resources/mapper目录下。

问题排查
在网上搜索了一些常见的原因:

  1. mapper方法名 和 mapper.xml id名不对应
  2. mapper.xml的namespace是不是写错了
  3. 是不是xml文件没有编译
  4. 是不是resources的路径问题(如果想把mapper.xml文件写在resources下的话,新建的包要用 “ / ” 分开 而不是用 “ . ”)

检查后没有任何以上的问题。

问题解决
我是通过增加配置制定mapper的xml路径:

mybatis-plus:
  mapper-locations: classpath:mapper/*.xml

于是检查了自己新的项目,发现并没有配置这个。因版本较高,为3.4.2。
检查了下这个版本是有默认配置的。

结论
对于低版本,需要手动配置 mapper-locations,但是高版本不需要了(默认有)。

你可能感兴趣的:(报错排查,mybatis)