网上已经有不少文章说明可能致使这个报错的缘由,无非是如下几种:
1.检查xml文件的namespace是否正确java
2.Mapper.java的方法在Mapper.xml中没有,而后执行Mapper的方法会报此sql
3.xxxMapper.java的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultTypeapp
4.若是你确认没有以上问题,请任意修改下对应的xml文件,好比删除一个空行,保存.问题解决spa
5.看下mapper的XML配置路径是否正确xml
若是所有检查了一遍,还发现没有问题,最好看下本身的配置文件,那时候颇有多是配置少了扫描mapper的东西:get
在建立SqlSessionFactory的时候,加了如下配置:io
sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));
sqlSessionFactoryBean.setTypeAliasesPackage("com.test.maper");
并且注意sqlSessionFactoryBean.setTypeAliasesPackage参数不支持通配符*,若是有多个包能够经过","等分割class
若是须要加载依赖传递过来的jar包中的mapper目录下的xml,classpath:mapper/*.xml 修改成classpath*:mapper/*.xmltest