背景
异常信息概要:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
接手了一个没有配置mybits-plus的spring boot的项目。需要新建一张数据表,为了节约自己手动配置dao、domain等ORM的时间,直接从其他工程含有mybits-plus对需要新建的数据表生成ORM的相关文件,转移到接手的项目中。运行项目失败,提示信息如下:
2021-07-19 18:20:00.577 ERROR 27829 --- [io-11083-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.jubotech.business.web.dao.TakoWxDailyReportMapper.selectByExample] with root cause
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.jubotech.business.web.dao.TakoWxDailyReportMapper.selectByExample
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:214) ~[mybatis-3.4.0.jar!/:3.4.0]
解决方案
错误解释,无效的绑定语句。
按下面的步骤一一进行检查, 如果排查到某一步解决问题了,就不用再往下排查了。
1.检查mapper的xml文件所在的package名称是否和interface对应的package名称一致
2.检查xml文件里的namespace是否和xml文件的package名称一致
3.检查xml文件里的实体类的type的package名称是否与实体类的package一致
4.检查对应实体类中是否操作了 Serializable接口
5.在application.peoperties配置文件中添加以下配置:
mybatis.mapper-locations=/mapper/**.xml
参考文档
https://www.huaweicloud.com/articles/59b0e0688a7a91a46c0e80ecdf8fe817.html
如果有帮助到大家,欢迎点赞收藏关注三连~