91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
晋中市| 霞浦县| 泰州市| 章丘市| 漳平市| 阿拉善右旗| 乐清市| 岚皋县| 方正县| 彭州市| 乌拉特中旗| 封开县| 桃园市| 武夷山市| 梁河县| 云林县| 金乡县| 黄大仙区| 介休市| 阜城县| 安泽县| 台州市| 句容市| 农安县| 肥乡县| 丘北县| 团风县| 禹城市| 隆化县| 高雄市| 洞口县| 舞钢市| 北辰区| 盐边县| 云霄县| 河东区| 清丰县| 叶城县| 郑州市| 精河县| 鄂尔多斯市|