mybatis 批量更新操作

批量处理方法
public void batchEditOrder(String[] columnAry, String[] columnValueAry,
			Integer[] id) {
		if (columnAry == null || columnValueAry == null
				|| columnAry.length == 0 || columnValueAry.length == 0
				|| columnAry.length != columnValueAry.length) {
			return;
		}
		Map<String, String> cvMap = new HashMap<String, String>();
		for (int i = 0; i < columnAry.length; i++) {
			cvMap.put(columnAry[i], columnValueAry[i]);
		}
		orderDao.batchUpdateOrder(cvMap, id);
	}


mybatis xml文件
<update id="batchUpdateOrder">
		<if test="columnValue!=null">
			update orders
			<set>
				<foreach collection="columnValue.keys" separator="," item="k">
					${k}=#{columnValue[${k}]}
				</foreach>
			</set>
			<if test="id!=null">
				where id in
				<foreach collection="id" separator="," item="item" open="(" close=")">
					#{item}
				</foreach>
			</if>
		</if>
	</update>

猜你喜欢

转载自anlinko.iteye.com/blog/2343649