mybatisはassicationまたはcollectionを利用して多パラメータを伝達して調べます。


データベースを調べているときは、照会結果を照会条件として関連クエリを行う必要があります。
mybatisでは、assicationタグ(一対一クエリ、collection一対多クエリ)でディレイローディングサブクエリを実現します。

  <resultMap id="xxxMap" type="xxxx.bean.xxx" extends="zzzzMap">
    <association property="destName" javaType="java.lang.String" select="xxx.dao.xxxDao.getBySource"
           column="{sourceTarget=id,sourceType=cmdb_type}"/>
  </resultMap>
説明:
xxMapがzzzMapを継承するタイプをxxxxx.bean.xxxエンティティと定義します。
その後、assicationタグを通じて(一対一で調べて、collectionのペアで多く調べます)。
select子がタグを検索し、クエリのdao層に値を設定する方法です。
columnはselectクエリに伝達されるパラメータであり、sourceTarget=id(sourceTargetはサブクエリ方法のパラメータであり、idは父親が検索した記録IDであり、サブクエリにsourceTargetの値として伝えられる)
property="destName"は、お問い合わせの結果を父親が検索したresultMapのdestName属性にマッピングします。
javaType="java.lang.String"クエリの結果のタイプは、通常はBeanエンティティです。
サブクエリに対応するdao層

String getBySource(@Param("sourceTarget") int sourceTarget, @Param("sourceType") String sourceType);

<select id="getBySource" resultMap="xxxMap">
SELECT name FROM xxx_relation
    WHERE source_target = #{sourceTarget} and source_type = #{sourceType}
</select>
参考:https://www.jb51.net/article/153421.htm
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考学習価値を持ってほしいです。ありがとうございます。もっと知りたいなら、下のリンクを見てください。