mybatis中collecton标签的两种使用方式区别

14 篇文章 0 订阅
8 篇文章 0 订阅

第一种:查询多次,查询部门的时候会根据部门的编号去查询部门下的高基表 n+1

<resultMap id="ClassifyVOResultMap" type="com.ly.business.entity.highbasetable.ClassifyVO">

<id column="GJBBH" jdbcType="VARCHAR" property="link" />

<result column="GJBMC" jdbcType="VARCHAR" property="title" />

</resultMap>

<resultMap id="DeptVOResultMap" type="com.ly.business.entity.highbasetable.ClassifyVO">

<id column="BMBH" jdbcType="VARCHAR" property="link" />

<result column="BMMC" jdbcType="VARCHAR" property="title" />

<collection property="children" column="BMBH" javaType="ArrayList" ofType="com.ly.business.entity.highbasetable.ClassifyVO"

select="selectDeptClassify">

</collection>

</resultMap>

 

<!-- 查询部门信息 -->

<select id="selectDeptAll" resultMap="DeptVOResultMap">

SELECT T.BMBH,T.BMMC FROM (SELECT BMBH,BMMC FROM LY_XTGL_BMXXB WHERE FBMBH ='000') T

</select>

<!-- 查询部门下的高基表信息 -->

<select id="selectDeptClassify" resultMap="ClassifyVOResultMap" parameterType="java.lang.String">

SELECT T.BMBH,T.BMMC,T2.GJBBH,T2.GJBMC FROM

(SELECT BMBH,BMMC FROM LY_XTGL_BMXXB WHERE FBMBH ='000') T LEFT JOIN LY_GJBB_GJBBMZJB T1 ON T.BMBH=T1.BMBH

LEFT JOIN LY_GJBB_GJBXX T2 ON T1.GJBBH = T2.GJBBH

WHERE T.BMBH = #{BMBH} ORDER BY T.BMBH

</select>

第二种:查询一次

<resultMap id="DeptVOResultMap" type="com.ly.business.entity.highbasetable.ClassifyVO">

<id column="BMBH" jdbcType="VARCHAR" property="link" />

<result column="BMMC" jdbcType="VARCHAR" property="title" />

<collection property="children" javaType="ArrayList" ofType="com.ly.business.entity.highbasetable.ClassifyVO">

<id column="GJBBH" jdbcType="VARCHAR" property="link" />

<result column="GJBMC" jdbcType="VARCHAR" property="title" />

</collection>

</resultMap>

<!-- 查询部门分类下高基表信息 -->

<select id="selectDeptClassify" resultMap="DeptVOResultMap" parameterType="java.lang.String">

SELECT T.BMBH,T.BMMC,T2.GJBBH,T2.GJBMC FROM

(SELECT BMBH,BMMC FROM LY_XTGL_BMXXB WHERE FBMBH ='000') T LEFT JOIN LY_GJBB_GJBBMZJB T1 ON T.BMBH=T1.BMBH

LEFT JOIN LY_GJBB_GJBXX T2 ON T1.GJBBH = T2.GJBBH

ORDER BY T.BMBH

</select>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值