/**
* 修改订单状态
*
* @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>
都是一样的,会一种其余的都会了。