Invalid bound statement (not found) 问题处理

举报
码农飞哥 发表于 2021/05/29 12:38:38 2021/05/29
【摘要】 您好,我是码农飞哥,感谢您阅读本文!本文将介绍使用MyBatis时出现的一些常见问题。 问题描述 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.modules.dao.rest.ArmWorksMapper.selectById at org...

您好,我是码农飞哥,感谢您阅读本文!本文将介绍使用MyBatis时出现的一些常见问题。

问题描述

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.modules.dao.rest.ArmWorksMapper.selectById
	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:227)
	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:49)
	at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
	at com.sun.proxy.$Proxy154.selectById(Unknown Source)


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

问题分析

从问题的描述,可以看出就是ArmWorksMapper类的selectById 方法找不到对应的SQL语句。可能的原因有如下:

问题排查

  1. 检查ArmWorksMapper.xml 的SQL文件中是否有selectById方法,如果对应,则进行下一步检查
  2. 检查ArmWorksMapper.xml 的namespace是否与ArmWorksMapper类对应,如果对应,则进行下一步检查
  3. 检查mapper.xml文件是否被扫描到,就是检查SqlSessionFactoryBean的配置。
   @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource); return sqlSessionFactoryBean.getObject(); }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这是我配置的SqlSessionFactoryBean类,在会话工厂中没有设置mapperLocations,所以MyBatis找不到所有的Mapper.xml文件。修改的方法也很简单。就是设置mapperLocations属性。

  @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource); sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*mapper.xml")); return sqlSessionFactoryBean.getObject(); }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

文章来源: feige.blog.csdn.net,作者:码农飞哥,版权归原作者所有,如需转载,请联系作者。

原文链接:feige.blog.csdn.net/article/details/113248007

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。