前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql及 Mybatis的批量写入

Mysql及 Mybatis的批量写入

作者头像
呼延十
发布2019-06-26 15:43:24
2.6K0
发布2019-06-26 15:43:24
举报
文章被收录于专栏:呼延呼延

在工作中,我们经常需要提供一些批量插入的接口,常见使用场景比如:初始化.

这时候如果在程序内部使用循环的方式插入,则会非常的慢,因为MySQL的每一次插入都需要创建连接,关闭连接,性能十分低下.

所幸MySQL有提供批量插入的方法,即建立一次数据库连接,将所有数据进行插入.

下面记录一下MySQL中的批量插入以及使用MyBatis进行批量插入的一些方法.

MySQL的批量插入语法

MySQL的批量插入十分简单,在正常的插入语句VALUES后增加多个值得排列即可,值之间使用逗号分隔.

代码语言:javascript
复制
insert into student values ("huyanshi",1),("xiaohuyan",2);

Mybatis的批量插入(MySQL)

MyBatis的批量插入,其实底层使用的也是MySQL的上述功能,这里只是记录下载代码层面如何实现.

首先在Mapper层中定义如下方法:

代码语言:javascript
复制
int addStudentBatch(@Param("students") List<Student> students);

然后在对应的XML文件中写入如下语句:

代码语言:javascript
复制
<insert id="addStudentBatch">
  insert into
  student(name,class)
  values
  <foreach collection ="students" item="student" index= "index" separator =",">
    (
    #{student.name},
    #{student.class}
    )
  </foreach >

</insert>

注意:Collection中的名字与mapper中的参数名相对应,item与类名相对应.

完。

ChangeLog

2018-11-25 完.

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com

更多学习笔记见个人博客——>呼延十

var gitment = new Gitment({ id: 'Mysql及 Mybatis的批量写入', // 可选。默认为 location.href owner: 'hublanker', repo: 'blog', oauth: { client_id: '2297651c181f632a31db', client_secret: 'a62f60d8da404586acc965a2ba6a6da9f053703b', }, }) gitment.render('container')



本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL的批量插入语法
  • Mybatis的批量插入(MySQL)
    • ChangeLog
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档