转自程序员No1 的BLOG:Mybatis 批量插入的方法
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://programmer.blog.51cto.com/2859493/1129875
- <insert id="insertColumnitem" parameterType="java.util.List">
- INSERT INTO REPORT_COLUMNITEM
- (COLUMN_LABEL,COLUMN_FIELD,COLUMN_INDEX,REPORT_ID,COMMENTS)VALUES
- <foreach collection="list" item="item" index="index" separator=",">
- (#{item.columnLabel,jdbcType=VARCHAR},#{item.columnField,jdbcType=VARCHAR},#{item.columnIndex,jdbcType=NUMERIC},#{item.reportId,jdbcType=NUMERIC},#{item.comments,jdbcType=VARCHAR})
- </foreach>
- </insert>
- INSERT INTO TABLE_NAME(FILED)VALUES
- (NAME_VALUE1),
- (NAME_VALUE2),
- (NAME_VALUE3)
- <insert id="insertColumnitem2">
- INSERT INTO REPORT_COLUMNITEM
- (COLUMN_LABEL,COLUMN_FIELD,COLUMN_INDEX,REPORT_ID,COMMENTS)
- <foreach collection="list" item="item" index="index" separator="union all">
- select #{item.columnLabel,jdbcType=VARCHAR},#{item.columnField,jdbcType=VARCHAR},#{item.columnIndex,jdbcType=NUMERIC},#{item.reportID,jdbcType=NUMERIC},#{item.comments,jdbcType=VARCHAR} from dual
- </foreach>
- </insert>
- INSERT INTO TABLE_NAME(FILED)
- SELECT '1' FROM DUAL
- UNION ALL
- SELECT '2' FROM DUAL