错误复现 :
postman调接口的时候出现了这样的错误:
ex = org.apache.ibatis.exceptions.PersistenceException
报错原因:
出现这个org.apache.ibatis.exceptions.PersistenceException问题大多数都是找不到映射文件,这和没有遵循mybatis的mapper代理配置规范有关:
1、文件读写出现问题,系统找不到这个文件
2、mapper接口与映射的mapper.xml 的命名是否一致,是否在同一目录下。
3、SqlMapConfig.xml配置文件加载mapper接口文件的路径有错误(一般有两种方试,第一扫描
类<mapper class=:“类路径和类名”/>第二种批量扫描加载:选择扫描包< package name=“包名” / >)
4、使用mapper代理方法开发mapper接口时mapper.xml中的namespace与mapper接口的类路径相
同,忘记写namespace也会报该异常。
5、在mapper.xml里面resultMap的Type用到那个实体类名的话就要把包名也写上去
6、当然有时大意犯个小错也会报此异常比如写SQL语句时结尾习惯性添加了“;”
7、开发mybatis动态代理时要注意四点开发规范:
1.接口 方法名 == User.xml 中 id 名
2. 返回值类型 与 Mapper.xml文件中返回值类型要一致
3.方法的入参类型 与Mapper.xml中入参的类型要一致
4.命名空间 绑定此接口