mybatis错Invalidbound statement

在使用mybatis的时候,

错误1:Invalid bound statement (not found):

错误信息:

SEVERE: Servlet.service() for servlet [SpringMVC] in context with path [/ssm] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.kaigejava.ssm.dao.InformationMapper.selectByExample] with root cause

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.kaigejava.ssm.dao.InformationMapper.selectByExample

根据提示:sql语句绑定失败导致的。

分析原因:

一般这个错误是mybatis相关的配置出现的问题。

查询dao相关的mapper.xml文件检查:

1:namespace的值是否和接口全类名一直:

点击可以进入对应的class中。说明没有问题。

2:检查对应的sql语句ID是否存在

对应的sql的id存在的。说明也不是这个导致的。

3:查看mybatis配置文件:

对应的mapper.xml文件存放位置错误。

所以,将对应的mapper.xml放置到对应的配置文件所配置的位置即可。

错误2:Result Maps collection already contains value for

在启动项目时候提示:Result Maps collection already contains value for com.kaigejava.ssm.dao.InformationMapper.BaseResultMap

说明:

mapper.xml文件使用工具生成的。

根据错误提示:对应的id已经使用了。

错误分析:

这些代码因为是工具自动生成的,所以也没仔细检查.一个小小的错误,导致的。

的值。

在对应的mapper.xml中搜索id="BaseResultMap"果然有两个。

回想,因为自己执行自动生成执行了两次。结果就重复了。

删除后,重新生成一遍。结果就OK。

欢迎关注:凯哥Java

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容