mybatis参数中包含数组和集合时候传参

先说第一种

1.包含有数组的

public List<Base_SysParam> getSysParamById(@Param("compId")String compId,@Param("paramId")String[] paramId);


XML中

<select id="getSysParamById" resultType="Base_SysParam" parameterType="String">
        SELECT * FROM BASE_SYSPARAM
        WHERE 1=1
            AND COMPID=#{compId}
            AND PARAMID in 
            <foreach collection="paramId" item="item" index="index" open="("
                separator="," close=")">
                #{item}
            </foreach>
        ORDER BY TYPE,PARAMID
    </select>



2.再说包含有集合的

public Integer addCompParams(@Param("compId")String compId,@Param("insert") List<Base_SysParam> insert);


XML中

<insert id="addCompParams" parameterType="Base_SysParam">
        INSERT INTO BASE_COMPSYSPARAM
        (PARAMID,VALUE,COMPID)
        <foreach collection="insert" index="index" item="item" separator=" UNION ALL">  
            SELECT #{item.paramId},#{item.value},#{compId}
        </foreach>
    </insert>

猜你喜欢

转载自blog.csdn.net/miss_wangcl/article/details/79141648