中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

mybatis子查詢傳參數的方法是什么

小億
213
2024-01-02 11:00:55
欄目: 編程語言

MyBatis中可以通過兩種方式傳遞子查詢的參數:

  1. 使用占位符(#{})方式傳遞參數:可以在子查詢中使用#{}來表示參數,然后在父查詢中通過parameterType指定參數類型,并在傳遞參數時將參數傳遞給父查詢。例如:
<select id="getParentsByChildId" parameterType="java.lang.Integer" resultType="Parent">
  SELECT * FROM parent WHERE id IN (
    SELECT parent_id FROM child WHERE id = #{childId}
  )
</select>

然后在調用該子查詢時,傳遞childId參數:

List<Parent> parents = sqlSession.selectList("getParentsByChildId", childId);
  1. 使用<foreach>標簽進行參數傳遞:可以在父查詢中使用<foreach>標簽來遍歷參數列表,并將參數傳遞給子查詢。例如:
<select id="getParentsByChildIds" parameterType="java.util.List" resultType="Parent">
  SELECT * FROM parent WHERE id IN (
    <foreach collection="childIds" item="childId" separator=",">
      SELECT parent_id FROM child WHERE id = #{childId}
    </foreach>
  )
</select>

然后在調用該子查詢時,傳遞childIds參數:

List<Integer> childIds = new ArrayList<>();
childIds.add(1);
childIds.add(2);
List<Parent> parents = sqlSession.selectList("getParentsByChildIds", childIds);

這樣就可以將childIds中的值傳遞給子查詢,并返回滿足條件的父記錄列表。

0
区。| 新和县| 呼图壁县| 新乡市| 长兴县| 鱼台县| 五莲县| 双江| 彰武县| 城固县| 循化| 玛沁县| 启东市| 临邑县| 镇雄县| 城固县| 资兴市| 道孚县| 武宣县| 江门市| 定远县| 正蓝旗| 盖州市| 元谋县| 南召县| 合肥市| 灵石县| 双江| 囊谦县| 洛阳市| 博湖县| 凭祥市| 孝义市| 东源县| 略阳县| 康保县| 南平市| 东山县| 炎陵县| 合山市| 揭西县|