mybatis 批量的操作

/**
	 * 修改订单状态
	 * 
	 * @param orderids
	 * @param state
	 */
	public void updateOrderState(@Param("orderids") List<Integer> orderids, @Param("state") int state);


<update id="updateOrderState">
	update wl_orders set state_id=#{state} where id IN
	<foreach collection="orderids" index="index" item="oid" open="("separator="," close=")">
		#{oid,jdbcType=INTEGER}
	</foreach>
</update>

其实只需注意申明的 collection 和参数的集合的名称一致就可以了,其他的都是固定搭配。

/**
	 * 根据订单ID集合,和发票状态查询,返回订单ID
	 * 
	 * @param ids
	 *            ID集合
	 * @param invoice
	 *            发票状态
	 * @param stock_method
	 *            缺货处理方式
	 * @author S
	 * @return 订单ID集合
	 */
	public List<Integer> selectByOrderIdByPrintIsinvoice(@Param(value = "ids") List<Integer> ids, @Param(value = "invoice") Integer invoice, @Param(value = "stock_method") Integer stock_method);


<select id="selectByOrderIdByPrintIsinvoice" resultType="java.lang.Integer">
	SELECT id FROM wl_orders WHERE is_invoice =
	#{invoice,jdbcType=INTEGER}
	<if test="ids != ''">
		AND id IN
		<foreach collection="ids" index="index" item="item" open="("separator="," close=")">
			#{item,jdbcType=INTEGER}
		</foreach>
	</if>
	<if test="stock_method != null">
		AND stock_out_method = #{stock_method,jdbcType=INTEGER}
	</if>
</select>

都是一样的,会一种其余的都会了。

你可能感兴趣的:(mybatis 批量的操作)