这篇文章主要为大家展示了“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运行不报的错,但是不加载项目强>
以下是详细的
需求:从数据库中加载之前插入日志日志,打印在某一页面上。
如:
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 nullmybatis mapper互相引用resultMap启动出错怎么办