Springboot MyBatis-plus查询失败:org.apache.ibatis.binding.BindingException: Invalid bound statement

【重现】生成新的代码后,重新规划目录后,调试页面,表格列表显示报错。调用的是mybatis-plus的selectList的方法,不至于报错呀?配置问题?
【错误】org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.baomidou.mybatisplus.mapper.BaseMapper.selectList
【收集思路】搜索时增加springboot避免一些其他架构的配置错误引导。
Springboot MyBatis-plus查询失败:org.apache.ibatis.binding.BindingException: Invalid bound statement_第1张图片
思路分析:
1、网上基本都说路径问题,找不到model和mappper。还有一种是namespace之类的错误。
2、测试其他模块正常
3、对比代码没有差异,最后锁定了一个问题,我放置的目录层次较深,如下图:
Springboot MyBatis-plus查询失败:org.apache.ibatis.binding.BindingException: Invalid bound statement_第2张图片
就是common下面又分了一层timetask目录,灵机一动,不会就是这个问题吧?
4、spring是目录里面所有标签扫描的机制,莫非扫描配置有问题?但是之前spring-mvc是在xml中配置,springboot又是如何配置的呢?
5、通过继续深入研究,Springboot都是通过Configuration启动进行扫描标签,结合guns,大致猜测应该是如下目录:
Springboot MyBatis-plus查询失败:org.apache.ibatis.binding.BindingException: Invalid bound statement_第3张图片
看到下面代码的瞬间,几乎明白了这个问题出在哪,下面的通配符只是modular下面的一层,如果我再多加一层的话,肯定会出问题,没有扫描到注解。
Springboot MyBatis-plus查询失败:org.apache.ibatis.binding.BindingException: Invalid bound statement_第4张图片
6、所以构思了解决办法,一种是目录就不自己添加更深层级,防止扫描失败。但是太low了,立马否定。
7、修改扫描配置支持多层级,两个代表多层。
修改如下:cn.stylefeng.guns.modular.
.dao
8、重启,解决问题

你可能感兴趣的:(springboot2)