mybatis mapper互相引用resultMap启动出错怎么办

  介绍

这篇文章主要为大家展示了“mybatis mapper互相引用resultMap启动出错怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mybatis mapper互相引用resultMap启动出错怎么办”这篇文章吧。

mybatis mapper互相引用resultMap启动出错

问题

所致:. lang。IllegalArgumentException:结果地图kulink.cvscloud.core.mapper.OrderSundryMapper集合不包含值。BaseResultMap
org.apache.ibatis.session.Configuration StrictMap.get美元(Configuration.java: 888) ~ (mybatis-3.4.5.jar: 3.4.5)
org.apache.ibatis.session.Configuration.getResultMap (Configuration.java: 640) ~ (mybatis-3.4.5.jar: 3.4.5)
org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps (MapperBuilderAssistant.java: 344) ~ (mybatis-3.4.5.jar: 3.4.5)

…73普通帧省略了

原因

因为mybatis扫描加载的时候,是按顺序加载的a - z,因为mapperA中引用mapperB中的ResultMap

但是启动加载的时候mapperB加载在mapperA之后,所以造成mapperB.ResultMap找不到的问题。

解决方法

升级新版本,已经解决这个问题了

或者在引用映射器。xml中把resultMap直接复制过来

mybatis resultMap引发的吐血虫

简单的讲

问题背景:如果在写mybatis中的resultMap时,不下心将resultMapde id写成映射接口的名字,会发生什么?

结论:<强>单元测试进度条卡住但不报错,Tomcat运行不报的错,但是不加载项目

以下是详细的

需求:从数据库中加载之前插入日志日志,打印在某一页面上。

如:

 mybatis mapper互相引用resultMap启动出错怎么办

Java中的pojo:

package  pojo;   import  java.io.Serializable;   import  java.util.Date;/* *   ,*系统日志   ,*   ,* @author 管理员   ,*/public  class  Log  implements  Serializable  {   ,,,private  static  final  long  serialVersionUID =, -7372303516713218870 l;   ,,,private  int  id;//,,,private  int  userId;//,,,private  String 用户名;   ,,,private  Date  createDate;//创建日期   ,,,private  String 内容;//日志内容   ,,,private  String 操作;//用户所做的操作   ,,,private  String  url;//用户所做的操作   ,,,public 日志(),{   ,,,}   ,,,public 日志(int  id, int  userId,, String 用户名,Date  createDate,, String 内容,String 操作,,String  url), {   ,,,,,,,this.id =, id;   ,,,,,,,this.userId =,标识;   ,,,,,,,this.userName =,用户名;   ,,,,,,,this.createDate =, createDate;   ,,,,,,,=,this.content 内容;   ,,,,,,,this.operation =,操作;   ,,,,,,,this.url =, url;   ,,,}   ,,,public  static  long  getSerialVersionUID (), {   ,,,,,,,return  serialVersionUID;   ,,,}   ,,,public  int  getId (), {   ,,,,,,,return  id;   ,,,}   ,,,public  void  setId (int  id), {   ,,,,,,,this.id =, id;   ,,,}   ,,,public  int  getUserId (), {   ,,,,,,,return 标识;   ,,,}   ,,,public  void  setUserId (int  userId), {   ,,,,,,,this.userId =,标识;   ,,,}   ,,,public  String  getUserName (), {   ,,,,,,,return 用户名;   ,,,}   ,,,public  void  setUserName (String 用户名),{   ,,,,,,,this.userName =,用户名;   ,,,}   ,,,public  Date  getCreateDate (), {   ,,,,,,,return  createDate;   ,,,}   ,,,public  void  setCreateDate (Date  createDate), {   ,,,,,,,this.createDate =, createDate;   ,,,}   ,,,public  String  getContent (), {   ,,,,,,,return 内容;   ,,,}   ,,,public  void  setContent (String 内容),{   ,,,,,,,=,this.content 内容;   ,,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

mybatis mapper互相引用resultMap启动出错怎么办