加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

mybatis错误之org.apache.ibatis.binding.BindingException: Inv

发布时间:2020-12-14 18:06:02 所属栏目:大数据 来源:网络整理
导读:玩了MyBatis差不多有两年了,中间也玩过MyBatis-Plus,这个MyBatis-Plus其实与MyBatis的区别并不大。今天写博客业务代码的时候,犯一个初学者犯过的错误。 错误信息如下: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

玩了MyBatis差不多有两年了,中间也玩过MyBatis-Plus,这个MyBatis-Plus其实与MyBatis的区别并不大。今天写博客业务代码的时候,犯一个初学者犯过的错误。

错误信息如下:
org.apache.ibatis.binding.BindingException: Invalid bound statement
(not found)

通常原因是因为Mapper interface和xml文件的定义对不上,通常需要检查包名、namespace、函数名等。

出现这个错误的原因是我太过相信自我了,觉得自觉没有错,于是手打,结果就是一个单词写错了。

看代码示例:

xml:

<select id="resentPosts" resultMap=BaseResultMap">
     SELECT post_title FROM `wp_posts` WHERE post_status = 'publish' ORDER BY post_modified DESC LIMIT 0,5 
 </select>

dao(interface):

//近期文章
public List<Posts> recentPosts();

大家很容易会看出select标签中的id与dao中的接口函数名不对应。这就是问题的根源,改成一样的,如下(即可解决问题)

<recentPosts
      SELECT post_title FROM `wp_posts` WHERE post_status = 5 
  </select>

最后说一句,遇到问题不要慌,找到问题关键信息,复制到百度上/谷歌或者stackoverflow即可找到答案。

太阳底下没有新鲜事儿,你遇到过的,说不定别人也遇到过。

参考链接:https://www.cnblogs.com/lfm601508022/p/InvalidBoundStatement.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读