spring ibatis 大量数据提交问题

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

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

有谁了解这环境的事务提交的吗,或应该去从哪看,谢谢指导一下
...全文
186 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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 层进行注入,你无须去关注大批量数据插入的事务细节。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧