mybatis+mysql的批量更新
来源:互联网 发布:林氏木业还是全友 知乎 编辑:程序博客网 时间:2024/06/06 02:27
注:使用的是mysql数据库; 以前使用的是hibernate对于批量更新通常是通过for循环多次编写update的sql并执行,但是现在使用的是mybatis,公司的标准是使用mapper来完成crud,所以在碰到有批量更新的需求时,就有点难受了。 后来经过同事的提点,发现一个比较另辟蹊径的办法: 大家都知道在批量操作的时候,使用mybatis中的foreach标签遍历list来组装sql,然后我们在mysql中的工具中,可以如下格式的操作: update XXX set XX=XX;update XXX set XX=XX; 后来我们干脆就想,不如让foreach给我们拼接这种格式的update语句:
<update id="updateList" parameterType="java.util.List"> <foreach close=";" collection="list" index="index" item="record" open="" separator=";"> update A set value=#{record.value,jdbcType=VARCHAR} where detail_id=#{record.detailId,jdbcType=BIGINT} AND org_id=#{record.orgId,jdbcType=BIGINT} AND l_date=#{record.lDate,jdbcType=INTEGER} AND location=#{record.location,jdbcType=VARCHAR} </foreach></update>
这种方式拼接好之后,我们就开始测试,会遇到sql错误; 纠结了大概两个小时,百度之后发现mysql的链接需要有一个参数,加上之后才能一次执行多个sql语句:
allowMultiQueries=true
设置了这个之后就能一次组装多个update语句了,同时insert也可以使用这种方法,但是我还是更推荐使用传统的那种批量insert。
阅读全文
0 0
- mybatis+mysql的批量更新
- Mysql+Mybatis批量更新
- MyBatis(mysql) 批量更新的坑
- Mybatis的批量更新
- Mybatis的批量更新
- mybatis 批量的更新
- mybatis 的批量更新
- MyBatis的批量更新
- spring mvc 下的mysql+mybatis批量更新
- Mybatis的批量更新 bug
- MyBatis的批量更新对象
- mybatis(mysql)批量插入 更新 删除
- mybatis实现Mysql批量修改(更新)
- oracle和mysql mybatis批量更新
- mybatis批量和更新(mysql)
- mybatis下oracle,mysql 批量更新 写法
- Mybatis执行批量更新时报mysql语法错误
- mybatis笔记-mysql批量更新数据
- 虚拟机下安装Linux系统
- 字符串分割
- 基于jQuery的图片左右轮播,基本原理通用
- 打包JAR错误 Class files on classpath not found or not accessible for 问题的解决
- Purrr package for R is good for performance
- mybatis+mysql的批量更新
- 图像处理_DICOM医学图像处理
- 今天开始写自己的博客了,谢谢关照
- linux diff
- Linux IPC
- tcpdump安装的方法
- C++程序员面试总结
- spring整合zookeeper与dubbo的入门案例(一)
- vue2.0入门--创建项目