在使用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