insert语句 foreach 、虚表的使用 mybatis
2017-09-29 14:24
330 查看
<insert id="saveEoceonfirmDetail" parameterType="java.util.List">
INSERT INTO OMS_OD_STOCKIN_ITEMS
(ID,
ORDER_ID,
ORDER_CODE,
GOODS_CODE,
GOODS_NAME,
ACCEPTABLE_QTY,
STOCKIN_DATE,
CREATED_BY,
CREATED_TIME,
VERSION,
IS_INACTIVE,
DEFECTIVE_QTY)
<foreach collection="list" item="item" index="index" open="(" close=")" separator="UNION ALL"> //传入的参数是List<Map<String, Object>>
(SELECT
#{item.id},
#{item.entry_order_id},
#{item.entry_order_code},
#{item.goods_code},
#{item.goods_name},
#{item.acceptable_qty},
<if test="item.stockin_date !=null and item.stockin_date !=''">
TO_TIMESTAMP( #{item.stockin_date},'YYYY-MM-DD HH24:MI:SS') ,
</if>
<if test="item.stockin_date ==null or item.stockin_date ==''">
sysdate,
</if>
'oms',
sysdate,
0,
0,
#{item.defective_qty}
FROM dual) //虚表
</foreach>
</insert>
INSERT INTO OMS_OD_STOCKIN_ITEMS
(ID,
ORDER_ID,
ORDER_CODE,
GOODS_CODE,
GOODS_NAME,
ACCEPTABLE_QTY,
STOCKIN_DATE,
CREATED_BY,
CREATED_TIME,
VERSION,
IS_INACTIVE,
DEFECTIVE_QTY)
<foreach collection="list" item="item" index="index" open="(" close=")" separator="UNION ALL"> //传入的参数是List<Map<String, Object>>
(SELECT
#{item.id},
#{item.entry_order_id},
#{item.entry_order_code},
#{item.goods_code},
#{item.goods_name},
#{item.acceptable_qty},
<if test="item.stockin_date !=null and item.stockin_date !=''">
TO_TIMESTAMP( #{item.stockin_date},'YYYY-MM-DD HH24:MI:SS') ,
</if>
<if test="item.stockin_date ==null or item.stockin_date ==''">
sysdate,
</if>
'oms',
sysdate,
0,
0,
#{item.defective_qty}
FROM dual) //虚表
</foreach>
</insert>
相关文章推荐
- Mybatis 使用动态语句实现批量删除(delete结合foreach)
- 使用mybatis的insert语句插入数据的时候,获取插入数据的主键id
- 使用mybatis在oracle进行批量插入的insert语句
- mybatis的foreach语句使用问题
- mybatis 在select语句中使用foreach语句报错
- mybatis使用foreach语句实现IN查询
- Ecshop模板开发(三):insert foreach if标签使用
- 使用foreach语句对类似于集合的类中的成员进行枚举
- mybatis处理集合、循环、数组和in查询等语句的使用
- MyBatis中Like语句使用方式
- 原生JDBC ,MyBatis 使用 insert 获取主键值对比(MySQL)
- 使用OleDbCommandBuilder时出现“Insert into 语句的语法错误”的解决方法
- mybatis中使用replace into和 insert INTO … ON DUPLICATE KEY UPDATE批量操作
- mybatis的分页插件pagehelper-fix使用、数据库分页查询模板sql、总结mysql与oracle语句的区别
- mybatis查询sql中in条件使用(foreach)
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- 关于mybatis的foreach 语句
- mybatis拦截器的使用(输出日志或sql语句)
- mybatis中的foreach的使用
- 【Z】使用OleDbCommandBuilder时出现“Insert into 语句的语法错误”