ssm整合mapper绑定失败问题汇总

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

  1. mapper接口和mapper.xml是否在同一个包(package)下?名字是否一样(仅后缀不同)?[plain] view plain copy

     

    1. 比如,接口名是NameMapper.java;对应的xml就应该是NameMapper.xml  
  2. mapper.xml的命名空间(namespace)是否跟mapper接口的包名一致?[plain] view plain copy

     

    1. 比如,你接口的包名是com.abc.dao,接口名是NameMapper.java,那么你的mapper.xml的namespace应该是com.abc.dao.NameMapper  
  3. 接口的方法名,与xml中的一条sql标签的id一致[html] view plain copy

     

    1. 比如,接口的方法List<User> findAll();那么,对应的xml里面一定有一条是<select id="findAll" resultMap="**">****</select>  
  4. 如果接口中的返回值List集合(不知道其他集合也是),那么xml里面的配置,尽量用resultMap(保证resultMap配置正确),不要用resultType
  5. 最后,如果你的项目是maven项目,请你在编译后,到接口所在目录看一看,很有可能是没有生产对应的xml文件,因为maven默认是不编译的,因此,你需要在你的pom.xml的<build></build>里面,加这么一段:[html] view plain copy

     

    1. <resources>  
    2.     <resource>  
    3.         <directory>src/main/java</directory>  
    4.         <includes>  
    5.             <include>**/*.xml</include>  
    6.         </includes>  
    7.         <filtering>true</filtering>  
    8.     </resource>  
    9. </resources>  
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值