mybatis莫名bug,Invalid bound statement (not found)和解决办法
前因
之前同事负责的模块需求有点小改动,这个任务落到我头上了。分析后只要修改xml文件查询语句sql就可以了,如图:
吐槽同事万物用map写法
bug图
项目启动执行时,发现报错了!!!
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): jee.boot.module.project.dao.ProjectParamterUnitDao.qryProMainNode
at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:232)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:50)
at org.apache.ibatis.binding.MapperProxy.lambda$cachedMapperMethod$0(MapperProxy.java:62)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:62)
解放办法
很确信之前的代码是没问题的,namespace和方法id全部正确。看了下target下目录里的xml发现内容不正确。
执行maven的clean和install一下就ok了,莫名其妙有大佬知道原因吗?