修改参数类型定义成数组就可以了。比如 String[] productIDs={'1','2','3','4','5'}
<update id="update" parameterType="Object[]">
UPDATE 表名 SET status='1'
WHERE productID in
<foreach index="index" item="productIDs" collection="array" separator="," open="(" close=")" >#{productIDs}</foreach>
动态修改
<update id="update" parameterType="实体对象">
UPDATE 表名
<trim prefix="set" suffixOverrides=",">
<if test="srcId!=null">SRC_ID=#{srcId},</if>
<if test="srcType!=null">SRC_TYPE=#{srcType},</if>
</trim>
WHERE id=#{id}
</update>
从一个表查询数据更新到另一个表
<update id="updateGoods" parameterType="String">
UPDATE
t_goods a, (SELECT * FROM t_goods_apply WHERE goodsId = #{0}) b
SET
a.goods_name = b.goods_name
WHERE
a.goodsId = #{0}
<update>
插入需要定义成list<>,因为插入要按顺序。list<>的是有序的。
特别说明:<foreach collection="list" item="item" index="index" separator="," > 这里不能有空格,不然会报错。
<insert id="save" parameterType="java.util.List">
INSERT INTO 表名 (productID,goodsType,goodsName,categoryId,subType,spServiceId,scId,deliveryType,salePrice,stock,label)
VALUES
<foreach collection="list" item="item" index="index" separator="," >
(#{item.productID}, #{item.goodsType},#{item.goodsName}, #{item.categoryId}, #{item.subType},
#{item.spServiceId},#{item.scId},#{item.deliveryType},#{item.salePrice},#{item.stock},#{item.label})
</foreach>
</insert>
参数是list<String> 的查询。
<select id="selectGroupn" parameterType="java.util.List" resultType="com.aspire.aplus.entity.model" >
select welfareType,welfareName from t_test where welfareId in
<foreach item="item" collection="list" separator="," open="(" close=")" index="">
#{item, jdbcType=VARCHAR}
</foreach>
</select>
如果你是湖南的 欢迎加入 湖南人在深圳-Java群:557651502