Mybatis 关联查询 collection 效率 分析

背景:

有一张评议人表(e_evaluator),一张参评企业表(attend_enterprise_info),一张评议人和参评企业关系表(er_evaluator_attend_enterprise),关系如下图

 


 目前e_evaluator表中有3800条数据,attend_enterprise_info表中有130条数据,er_evaluator_attend_enterprise表中有42000条数据

 

通过中间表er_evaluator_attend_enterprise,建立一个e_evaluator与多个e_attend_enterprise的一对多关系

 

java代码调用

long s1 = System.currentTimeMillis();
// 所有评议人
List<Evaluator> evaluatorLst = this.evaluatorMapper.queryEvaluators(evaluatorParam);
long s2 = System.currentTimeMillis();
log.info("用时:" + (s2 - s1))

 mybatis的xml文件用到了两种写法

 

第一种写法:

        第一步:配置返回的resultMap

<resultMap id="BaseResultMap" type="com.hhsoft.evaluation.model.dto.Evaluator" >
    	<id column="evaluator_id" property="evaluatorId" jdbcType="VARCHAR" />
	    <result column="evaluator_name" property="evaluatorName" jdbcType="VARCHAR" />
	    <result column="account" property="account" jdbcType="VARCHAR" />
	    <result column="password" property="password" jdbcType="VARCHAR" />
	    <result column="login_status" property="loginStatus" jdbcType="VARCHAR" />
	    <result column="gender" property="gender" jdbcType="VARCHAR" />
	    <result column="mobile" property="mobile" jdbcType="VARCHAR" />
	    <result column="administrative_area_code" property="administrativeAreaCode" jdbcType="VARCHAR" />
	    <result column="administrative_area_name" property="administrativeAreaName" jdbcType="VARCHAR" />
	    <result column="administrative_area_grade" property="administrativeAreaGrade" jdbcType="VARCHAR" />
	    <result column="questionnaire_id" property="questionnaireId" jdbcType="VARCHAR" />
	    <result column="evaluator_type" property="evaluatorType" jdbcType="VARCHAR
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值