一、问题描述

今天在使用 mybatis 、spring 和 servlet 进行整合开发的时候报了这样的一个错误。

Caused by: org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found): com.demo.sm.dao.DepartmentDao.selectAll

二、解决方案

首先有几点是必须要注意的,不然就会莫名其妙的出现这个问题:

1. DAO 接口名一定要与 Mapper 文件的名称一模一样

2. Mapper 文件中的 namespace 路径一定要与 DAO 接口的路径一致

3. 还有一点特别重要,即 Mapper 文件必须要放置到 resources 目录中,否则不会被编译

4. resources 目录中的 Mapper 文件的路径一定要与 DAO 接口的路径完全一致

三、问题分析

开始的时候我的 Mapper 文件是放置到 resources 目录下了,但是我在 resources 下创建目录时是直接使用 com.demo.sm.dao 来进行创建的,这样就导致编译后的文件目录结构是下面这样的(应该不会有人像我这么蠢吧)。

这样就导致了一个问题,就是编译后的 DAO 接口和 Mapper 并不位于同一个目录下,我们进一步验证会发现,正确的创建方式应该是 com/demo/sm/dao ,同时这样两种方式创建出来的目录名是完全一样的,所以编译之前仅通过目录名是完全无法分辨的,所以一定要细心注意这个问题。

所以当我们使用了正确的方式进行目录创建,编译后的目录结构应该是下面这样的,这时 DAO 接口和 Mapper 文件就位于同一目录下,可以正常工作了。虽然是小的细节问题,但是一定要注意啊。

关于 batis.binding.BindingException: Invalid bound statement (not found) 解决方案相关推荐

  1. 解决batis.binding.BindingException: Invalid bound statement (not found)

    出现这个错误的原因可能是你的mapper文件放在了src文件下,一般情况下我们的mapper文件是放在resource文件下的,src文件下一般只写.java文件,我们的maven默认值加载src下的 ...

  2. batis.binding.BindingException: Invalid bound statement (not found)

    解决方案: 检查namespace的路径是否有误 dao的接口名字要与mapper文件一致 dao的包名要与mapper文件一致 mapper文件要放在resource目录里 目录的创建应该为com/ ...

  3. mybatis配置时出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)...

    如果出现: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 一般的原因是Mapper i ...

  4. 【踩坑】遇到 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 报错...

    今天在重做 iblog 客户端时,测试接口情况,发现了 org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...

  5. mybatis-plus自定义mapper报org.apache.ibatis.binding.BindingException: Invalid bound statement(not found)

    今天在springboot的项目中,需要用到自定义的mapper,之前一直使用mybatis-plus自动生成的mapper,一直可以正常使用,今天因为需求需要,自定义了mapper,但是一直报这个错 ...

  6. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): dao.UserDao.selectU

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): dao.UserDao.selectU ...

  7. 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误

    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误 2018年07月23日 16:5 ...

  8. 解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) ...

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. org.apache.ibatis.binding.BindingException: Invali ...

  9. 解决 : org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 报错: org.apache.ibatis.binding.BindingException:    ...

最新文章

  1. C语言中被常用到的宏
  2. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入
  3. Origin教程:DSC曲线的描述和绘制
  4. 递归和迭代_迭代与递归
  5. ubuntu安装pr_在Ubuntu 16.04服务器上安装Zabbix 3.2
  6. 弱网测试用什么农_为什么用木蜡油做的家具,用甲醛测试仪测试会显示甲醛超标?...
  7. MongoDB via Dotnet Core数据映射详解
  8. java流与文件——ZIP文档
  9. java 并发执行_Java并发执行器的懒惰开发人员简介
  10. EF 拉姆达 linq if else (整理)
  11. 前端学习(3165):react-hello-react之UUID库
  12. 简单使用CXF实现webserver(rs的独立发布)
  13. 161122、BOM 操作写法示例
  14. java输出目录节点_节点如果不存在,如何创建目录?
  15. Artifacts Gallery - Seahorse Collector, The
  16. RabbitMQ-理解消息通信-虚拟主机和隔离
  17. STC学习:看谁手速快
  18. 微信防撤回补丁来了!更新也不会失效
  19. html5快捷键保存,保存的快捷键是什么?有了快捷键保存太方便了
  20. 初探MUI制作微信APP页面(二)

热门文章

  1. 如何使用uglify-js压缩指定文件夹下的js代码
  2. 共享打印机无法连接 操作无法完成 错误 0x00000709
  3. 【机器学习】KNN算法实现手写板字迹识别
  4. android keystore密码,Android keystore的使用方法
  5. 我们无法创建新的分区
  6. css鼠标事件(状态)
  7. python3 pip3安装
  8. R语言检验样本比例:使用prop.test函数执行单样本比例检验计算总体中成功样本比例p值的置信区间
  9. 报错与解决 | AttributeError: module ‘librosa.feature‘ has no attribute ‘rmse‘
  10. Cordova项目中使用BUI框架,以及常见问题解答