mysql:SQL foreach查询 及list和map参数设置

案例一:

dao:

/**
     * 批量删除收藏知识
     * @param list
     * @return
     */
    int deleteByFavrtId(List<TKmKlgFavrtInfo> list);
	
mapper:

<delete id="deleteByFavrtId" parameterType="java.util.List">
    delete from t_km_klg_favrt_info where FAVRT_ID in
    <foreach item="fItem" collection="list" open="(" separator="," close=")">
      #{fItem.favrtId}
    </foreach>
</delete>



案例二:

componnet & dao:

	Map queryMap = new HashMap();
        queryMap.put("knowledgeId",lkgId);
        List<TKmKnowledge> knowledges = sv.getKnowlegeByKlgId(queryMap);//查询知识列表
此处:放置的key为:knowledgeId ,所以永远不会走 foreach(直接跳过),除非key为:knowledgeIds


mappper:

 <if test="knowledgeId != null  and knowledgeId !='' ">
            AND a.KNWLG_ID = #{knowledgeId}
        </if>
        <if test="knowledgeIds != null  and knowledgeIds.size()>0 ">
            AND a.KNWLG_ID IN
            <foreach item="knowledgeId" index="index" collection="knowledgeIds" open="(" separator="," close=")">
                #{knowledgeId}
            </foreach>
        </if>


猜你喜欢

转载自blog.csdn.net/wslixiaoliang/article/details/80833079
今日推荐