亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
达州市| 碌曲县| 兖州市| 奉节县| 肇州县| 邵武市| 丰县| 西丰县| 涿鹿县| 泰顺县| 大连市| 安泽县| 轮台县| 沐川县| 宜黄县| 城步| 盐津县| 东辽县| 潼关县| 武穴市| 东乌| 益阳市| 伊宁县| 永和县| 临颍县| 天等县| 越西县| 和静县| 张家川| 连江县| 庆云县| 获嘉县| 丰县| 西乌珠穆沁旗| 手游| 怀来县| 延安市| 色达县| 怀远县| 交城县| 宁明县|