本文主要是介绍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避免一些其他架构的配置错误引导。
思路分析:
1、网上基本都说路径问题,找不到model和mappper。还有一种是namespace之类的错误。
2、测试其他模块正常
3、对比代码没有差异,最后锁定了一个问题,我放置的目录层次较深,如下图:
就是common下面又分了一层timetask目录,灵机一动,不会就是这个问题吧?
4、spring是目录里面所有标签扫描的机制,莫非扫描配置有问题?但是之前spring-mvc是在xml中配置,springboot又是如何配置的呢?
5、通过继续深入研究,Springboot都是通过Configuration启动进行扫描标签,结合guns,大致猜测应该是如下目录:
看到下面代码的瞬间,几乎明白了这个问题出在哪,下面的通配符只是modular下面的一层,如果我再多加一层的话,肯定会出问题,没有扫描到注解。
6、所以构思了解决办法,一种是目录就不自己添加更深层级,防止扫描失败。但是太low了,立马否定。
7、修改扫描配置支持多层级,两个代表多层。
修改如下:cn.stylefeng.guns.modular..dao
8、重启,解决问题
这篇关于Springboot MyBatis-plus查询失败:org.apache.ibatis.binding.BindingException: Invalid bound statement的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!