mybatis 一对多查询

本文介绍了MyBatis中实体类与XML配置文件的映射关系,包括实体类中的属性`factorRankList`以及XML中的`<resultMap>`标签。通过示例展示了如何定义查询结果映射,将查询结果集转换为实体对象,并利用`<collection>`标签处理一对多的关系。查询语句展示了如何根据实体类字段从多个表中获取所需数据。
摘要由CSDN通过智能技术生成

一、实体类中

//定义出需要查询出的对象 并设为集合
/*能力因子级别标准*/
 private List<AbilityFactorRank> factorRankList;

二、xml中

<resultMap type="com.ideal.ability.domain.web.AbilityMaterialWeb" id="AbilityMaterialWebResult">
        <result property="id"    column="id"    />
        <result property="personId"    column="person_id"    />
        <result property="personName"    column="person_name"    />
        <result property="coreId"    column="core_id"    />
        <result property="coreAbilityName"    column="core_ability_name"    />
        <result property="factorId"    column="factor_id"    />
        <result property="abilityFactor"    column="ability_factor"    />
        <result property="rankId"    column="rank_id"    />
        <result property="abilityRank"    column="ability_rank"    />
        <result property="abilityContent"    column="ability_content"    />
        <result property="fileId"    column="file_id"    />
        <result property="creatorId"    column="creator_id"    />
        <result property="createTime"    column="create_time"    />
        <result property="operatorId"    column="operator_id"    />
        <result property="operateTime"    column="operate_time"    />
        <result property="status"    column="status"    />
        <result property="isExport"    column="is_export"    />
        <result property="auditId"    column="audit_id"    />
        <result property="auditName"    column="audit_name"    />
        <result property="auditTime"    column="audit_time"    />
        <result property="applyRankId"    column="apply_rank_id"    />
        <result property="factorId"    column="factor_id"    />
        <collection property="factorRankList" javaType="java.util.List" resultMap="AbilityFactorRank"    >
         //property中的值为实体类中的字段类型定义为list 返回结果指向需要查询的resultMap 的id
        </collection>
    </resultMap>

    <resultMap type="com.ideal.ability.domain.AbilityFactorRank" id="AbilityFactorRank">
        <result property="id"    column="id"    />
        <result property="factorId"    column="factor_id"    />
        <result property="factorRequirement"    column="factor_requirement"    />
        <result property="factorRank"    column="factor_rank"    />
        <result property="rankStandard"    column="rank_standard"    />
        <result property="judgement"    column="judgement"    />
        <result property="creatorId"    column="creator_id"    />
        <result property="createTime"    column="create_time"    />
        <result property="operatorId"    column="operator_id"    />
        <result property="operateTime"    column="operate_time"    />
    </resultMap>

//查询语句中直接写需要查询出来的名字即可 自会找到实体类一一对应
    <select id="selectAbilityMaterialDetailedById" parameterType="Long" resultMap="AbilityMaterialWebResult">
        select a.id,b.core_ability_name,a.audit_name,a.audit_time,a.ability_rank,a.ability_content,c.factor_requirement,c.rank_standard,
            a.core_id,a.factor_id,a.core_id,a.factor_id,a.rank_id,a.apply_rank_id,
            c.factor_rank,d.ability_factor,e.person_name
            from t_ability_material as a
            INNER JOIN t_ability_core as b on a.core_id = b.id
            INNER JOIN t_ability_factor_rank as c on a.factor_id = c.factor_id
            INNER JOIN t_ability_factor as d on a.factor_id = d.id
            left JOIN t_base_person as e on e.id = a.person_id
            where a.id=#{id}
    </select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值