MyBatis使用Foreach批量插入数据

news/2024/11/15 20:53:12/
## MySQL批量插入(效率较低)
<insert id="saveBatch"><foreach collection="list" item="item" separator=";">INSERT INTO student(name, age, id)VALUES(#{item.name},#{item.age},#{item.id})</foreach>
</insert>
## MySQL批量插入(效率较高)
<insert id="saveBatch">INSERT INTO student(name, age, id)VALUES<foreach collection="list" item="item" separator=",">(#{item.name},#{item.age},#{item.id})</foreach>
</insert>
# Oracle批量插入
<insert id="saveBatch">insert into student(name, age, id)select * from(<foreach collection="list" item="item" separator="UNION ALL">select#{item.name} name,#{item.age} age,#{item.id} idfromdual</foreach>)
</insert>
  • Oracle中SQL没有VALUES,并且separator=“UNION ALL”,将查询合并结果集

http://www.ppmy.cn/news/717144.html

相关文章

hibernate存取图片示例

一般网站在处理用户上传图片时通常采用两种策略&#xff1a;一是直接把图片存入数据库中的Blob字段&#xff1b;二是数据库中只存储图片的在服务器上的路径信息 &#xff0c;图片存放在分门别类的文件中&#xff0c;使用的时候从数据库读取路径信息到页面img元素即可&#xff0…

MyBatis使用foreach批量插入,foreach套查询

目录跳转 需求场景我跳进去的坑解决方式方法一方法二 重点(也不是) 需求场景 我需要批量list写入数据到info_notice表格&#xff0c;写入的数据中有一个属性是来之user_info表格。我用foreach去写批量插入&#xff0c;但是在服务层我又不想根据批量写入的数据list去查询每一个…

mybatis之批量插入

通过动态SQL方式实现 通过动态SQL方式&#xff0c;Executor的类型不需要特别设置&#xff0c;用默认的SIMPLE就可以。 具体步骤如下&#xff1a; 第一步&#xff1a;定义Mapper映射文件和接口类 映射文件中定义动态SQL语句 <insert id"insertBatch" parameter…

Mybatis批量添加(foreach标签)

delete from xxx_table where id in <foreach collection"list" item"item" index"index" open"(" separator"," close")"> #{item} </foreach> > (1,2,3,4) foreach标签&#xff1a;主要应用…

通过Mybatis批量插入表数据

对于需要同时插入大量表数据的需求&#xff0c;我们可以通过下述方式实现&#xff1a; for(Commit commit: commitList){commitDao.insertCommit(commit);}但我们很快就会发现系统效率低下。插入2000条数据大概花了4mins。 在思考如何提速的过程中&#xff0c;首先想到的就是如…

MyBatis批量插入的五种方式,哪种最强?

前言 这里列举了MyBatis和MyBatis-Plus常用的五种批量插入的方式&#xff0c;进行了详细的总结归纳。 准备工作MyBatis利用For循环批量插入MyBatis的手动批量提交MyBatis以集合方式批量新增&#xff08;推荐&#xff09;MyBatis-Plus提供的SaveBatch方法MyBatis-Plus提供的In…

MyBatis 批量插入数据的 3 种方法!

作者 | 王磊 来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09; 转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone 批量插入功能是我们日常工作中比较常见的业务功能之一&#xff0c;之前我也写过一篇关于《MyBatis Plus 批量数据插入功能&#xff0c…

mybatis遍历

参考&#xff1a;foreach 实现 MyBatis 遍历集合与批量操作数据_点滴记录-CSDN博客_mybatis遍历list SELECT * FROM t_employee WHERE id IN (1, 2, 3, ...) /** 根据传入的 id 集合&#xff0c;查询出对应的员工信息&#xff0c;并使用集合保存信息 */ List<Employee> …