spring ibatis 大量数据提交问题

xjb985462426 2015-11-04 11:28:20
环境是spring+ibatis

现在有大量数据通过insert提交,我现在是在foreach里循环调insert
但我不知道什么时候进行的提交,有大量数据所以要考虑一次提交的量的问题。

有谁了解这环境的事务提交的吗,或应该去从哪看,谢谢指导一下
...全文
112 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xjb985462426 2015-11-04
谢谢各位,这个理解了,对于这数据量问题,如果上万条数据,每条数据上百字段,是要分多条list传到insert比较好吗?对于这种效率问题太差,有什么推荐看看的吗
  • 打赏
  • 举报
回复
让sql去foreach,不要程序去循环做,可以参考2L 也可以看看这个
  • 打赏
  • 举报
回复
Ar_Lai 2015-11-04
赞同版主的提议,我一般也是这么写的
  • 打赏
  • 举报
回复
Defonds 2015-11-04
干嘛循环 insert?会很慢的,还影响性能。 你可以在 insert 语句里 foreach,这样一条 insert 实现批量插入:
 <insert id="insertListMyObject" parameterType="java.util.List" >
INSERT INTO my_table
   (ID_ITEM,
    ATT1,
    ATT2)
    VALUES
   <foreach collection="list" item="item" index="index"  separator=",">
    (#{item.idItem, jdbcType=BIGINT},
    #{item.att1, jdbcType=INTEGER},
    #{item.att2, jdbcType=STRING})
       </foreach>   
</insert>
注意量很大的话,要注意 sql 的最大长度限制,过大的数据,最好是分几次 insert。 还有事务最好交给 spring 管理,在 service 层进行注入,你无须去关注大批量数据插入的事务细节。
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-11-04 11:28
社区公告
暂无公告