MyBatisのは、このresultMapを使用しているときに注意を払う必要があります

  1. エンティティは、別の特定のオブジェクト・パラメータ・フィールドへの直接参照、直接ライン上の元の方法である場合
    <resultMap id="baseMap" type="com.ei.medical.modules.model.EduEducationKnowledge">
        <result column="visitNumber" property="visitNumber"/>
        <result column="patientName" property="patientName"/>
        <result column="sendTime" property="sendTime"/>
        <result column="wardCode" property="wardCode"/>
        <result column="wardName" property="wardName"/>
        <result column="categoryCode" property="categoryCode"/>
        <result column="title" property="title"/>
        <result column="content" property="content"/>
        <result column="cover" property="cover"/>
    </resultMap>
    
    <select id="getAllBy" resultMap="baseMap">
        SELECT
            eer.visit_number as visitNumber,
            eer.patient_name as patientName,
            eer.send_time as sendTime,
            eek.id as id,
            eek.ward_code as wardCode,
            eek.ward_name as wardName,
            eek.category_code as categoryCode,
            eek.title as title,
            eek.content as content,
            eek.cover as cover
        FROM
            edu_education_record AS eer,
            edu_education_knowledge AS eek
        WHERE
            eer.education_knowledge_id=eek.id
    </select>
  1. 他のエンティティは、エンティティオブジェクトの参照である場合は、タグのコレクションを使用する必要があります
<resultMap id="baseMap" type="com.ei.medical.modules.model.EduEducationKnowledge">
        <result column="wardCode" property="wardCode"/>
        <result column="wardName" property="wardName"/>
        <result column="categoryCode" property="categoryCode"/>
        <result column="title" property="title"/>
        <result column="content" property="content"/>
        <result column="cover" property="cover"/>
        <collection property="eduEducationRecord" ofType="com.ei.medical.modules.model.EduEducationRecord">
            <result column="visitNumber" property="visitNumber"/>
            <result column="patientName" property="patientName"/>
            <result column="sendTime" property="sendTime"/>
        </collection>
    </resultMap>

    <select id="getAllBy" resultMap="baseMap">
        SELECT
            eer.visit_number as visitNumber,
            eer.patient_name as patientName,
            eer.send_time as sendTime,
            eek.id as id,
            eek.ward_code as wardCode,
            eek.ward_name as wardName,
            eek.category_code as categoryCode,
            eek.title as title,
            eek.content as content,
            eek.cover as cover
        FROM
            edu_education_record AS eer,
            edu_education_knowledge AS eek
        WHERE
            eer.education_knowledge_id=eek.id
    </select>
  1. エンティティが他のオブジェクトのコレクションの中で参照されている場合は、書き込みに関連するタグを使用することができます
    <resultMap id="baseMap" type="com.ei.medical.modules.model.EduEducationKnowledge">
        <result column="wardCode" property="wardCode"/>
        <result column="wardName" property="wardName"/>
        <result column="categoryCode" property="categoryCode"/>
        <result column="title" property="title"/>
        <result column="content" property="content"/>
        <result column="cover" property="cover"/>
        <association property="eduEducationRecordList" resultMap="base2Map"/>
    </resultMap>

    <resultMap id="base2Map" type="com.ei.medical.modules.model.EduEducationRecord">
        <result column="visitNumber" property="visitNumber"/>
        <result column="patientName" property="patientName"/>
        <result column="sendTime" property="sendTime"/>
    </resultMap>
    
    
    <select id="getAllBy" resultMap="baseMap">
        SELECT
            eer.visit_number as visitNumber,
            eer.patient_name as patientName,
            eer.send_time as sendTime,
            eek.id as id,
            eek.ward_code as wardCode,
            eek.ward_name as wardName,
            eek.category_code as categoryCode,
            eek.title as title,
            eek.content as content,
            eek.cover as cover
        FROM
            edu_education_record AS eer,
            edu_education_knowledge AS eek
        WHERE
            eer.education_knowledge_id=eek.id
    </select>

ヒント:
使用このresultMap、それが直接の背後にあるフィールド名、私の運命である名前とすべき
言葉として使用されていない場合は、データベースの元の名前を直接使用します

各タグの意味resultmapに
ここに画像を挿入説明

公開された11元の記事 ウォンの賞賛2 ビュー301

おすすめ

転載: blog.csdn.net/weixin_45121502/article/details/105156538