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

今天在重作 iblog 客户端时,测试接口状况,发现了java

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)::iblog.server_java.dao.AuthorDao.selectForLoginapache

的报错。通过排查,基本定位为 AuthorMapper.xml 文件中的问题。可是检查 namespace 属性的Dao路径又没发现什么问题。app

上网搜索了一阵,答案所有都是让检查路径或者文件名有没有错,但是都没发现问题。测试

后来回想写 Mapper 文件时,时复制粘贴 iReview 项目的,对比了它们的路径,也没发现问题,难道就无解了?spa

<mapper namespace="main.java.iReview.dao.UsersDao">
<mapper namespace="main.java.iblog.server_java.dao.AuthorDao">

后来,通过仔细对比,先后两个项目的不一样之处在于项目路径,iReview 是在 main.java.main.java 下,而 iblog 是在 main.java 之下。code

猜想 Mapper 文件 namespace 属性的路径是不用带默认的 main.java ,因而把它删了,再测试,果真没问题了。server

<mapper namespace="iblog.server_java.dao.AuthorDao">

又涨知识了^_^xml

相关文章
相关标签/搜索