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

     

    1.   
    2.       
    3.         src/main/java  
    4.           
    5.             **/*.xml  
    6.           
    7.         true  
    8.       
    9.   

你可能感兴趣的:(ssm整合mapper绑定失败问题汇总)