亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Mybatis 批量插入的方法

標簽:
MySQL


网上太多关于mybatis配置批量插入的文章了,大都是我写的第一种mysql配置,由于我使用的是Oracle数据库,原来对Oracle的批次插入不太了解,所以按照mysql的配置信息测试了N遍都不对,急的我去mybatis官方网站了上看了将近1天的文档,现得以解决,特此记录一下,希望帮助到同我一样困惑的人。

1.MySql环境下配置:

<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>

因为mysql批量插入多条数据的格式为(这并不是标准的SQL语法,因此只能在MySQL中使用):

INSERT INTO TABLE_NAME(FILED)VALUES (NAME_VALUE1), (NAME_VALUE2), (NAME_VALUE3)

2.Oracle环境下配置:

<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>

因为Oracle支持批次插入的数据格式为:

INSERT INTO TABLE_NAME(FILED)  SELECT '1' FROM DUAL  UNION ALL SELECT '2' FROM DUAL

3.关于mybatis官方网站对foreach的用法解释:

想了解更多的mybatis信息,请访问mybatis中文站:http://www.mybatis.org/mybatis-3/zh/index.html

©著作权归作者所有:来自51CTO博客作者鱼塘鱼的原创作品,如需转载,请注明出处,否则将追究法律责任

Mybatis批量插入Mybatis


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消