解决Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.kuang.dao.TeacherMapper.getTeacher问题

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。

 

Mapper接口开发需要遵循以下规范:
  1. Mapper.xml文件中的namespace与mapper接口的类路径相同。

  2. Mapper接口方法名和Mapper.xml中定义的每个statement的id相同

  3. Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同

  4. Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

 

发现这个错误后,经过各种百度,CSDN,核对各种方法名,包名,仍未发现问题。

后来发现这样一条博客:

https://blog.csdn.net/weixin_44757863/article/details/109301707

 

 于是,我不再使用以“·”分割子目录的方法,而是使用分次创建子目录。

结果这样还是不行,还是报一样的错误。

最终,我参考下面同学的解决方法:

https://www.cnblogs.com/lixiaobin123/p/12651510.html

以这样的方式创建包:com/kuang/dao

 

 最后成功运行!

 

 

 

最后,感谢狂神的MyBatis课程!受益匪浅!

https://www.bilibili.com/video/BV1NE411Q7Nx?p=20&spm_id_from=pageDriver

 

 

 

 
 
posted @ 2022-02-07 21:43  临易  阅读(906)  评论(1编辑  收藏  举报