根本原因 mapper映射文件没有被加载
最低级原因
1.mapper接口中的方法名和mapper映射文件中的id名是否一致
2mapper映射文件的名称空间的值 是否是mapper接口的权限名(包类名)
3mapper映射文件中的返回 resultType 是否是与实体类的权限名(包类名)
其中 实体类的属性要与数据库的字段要一致
4 mapper接口名要与你的映射文件名要一样(重点 易忽略 记录{ 我当时犯的错误})
低级原因
mapper接口文件与你的mapper映射文件不在同一个文件夹中
解决
5 在Java的配置文件中创建包把你的mapper映射文件放进去 (建包sh要注意 . 代替 / 且建的包名与你的 mapper接口 的包名要一致 )
查看target 可以看见是否在同一个包下 没有的话clean complie
6 就是过滤器的问题 就是在加载 mapper映射文件给漏掉了
解决
在pom中加入(就可以解决了)
<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build>