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

简介: MyBatis 批量插入数据的 3 种方法!(2)
+关注继续查看

1.循环单次插入


接下来我们将使用 Spring Boot 项目,批量插入 10W 条数据来分别测试各个方法的执行时间。


循环单次插入的(测试)核心代码如下:


import com.example.demo.model.User;
import com.example.demo.service.impl.UserServiceImpl;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class UserControllerTest {

    // 最大循环次数
    private static final int MAXCOUNT = 100000;

    @Autowired
    private UserServiceImpl userService;

    /**
     * 循环单次插入
     */
    @Test
    void save() {
        long stime = System.currentTimeMillis(); // 统计开始时间
        for (int i = 0; i < MAXCOUNT; i++) {
            User user = new User();
            user.setName("test:" + i);
            user.setPassword("123456");
            userService.save(user);
        }
        long etime = System.currentTimeMillis(); // 统计结束时间
        System.out.println("执行时间:" + (etime - stime));
    }
}


运行以上程序,花费了 88574 毫秒,如下图所示:


image.png


2.MP 批量插入


MP 批量插入功能核心实现类有三个:UserController(控制器)、UserServiceImpl(业务逻辑实现类)、UserMapper(数据库映射类),它们的调用流程如下:


image.png


注意此方法实现需要先添加 MP 框架,打开 pom.xml 文件添加如下内容:


<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>mybatis-plus-latest-version</version>
</dependency>


注意:mybatis-plus-latest-version 表示 MP 框架的最新版本号,可访问 https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter 查询最新版本号,但在使用的时候记得一定要将上面的 “mybatis-plus-latest-version”替换成换成具体的版本号,如 3.4.3 才能正常的引入框架。


更多 MP 框架的介绍请移步它的官网:https://baomidou.com/guide/



相关文章
|
9月前
|
Java 关系型数据库 MySQL
mybatis自动生成代码时,只有insert方法的解决方案
mybatis自动生成代码时,只有insert方法的解决方案
136 0
|
9月前
|
SQL Oracle 关系型数据库
MyBatis获取新增数据ID的几种方法
MyBatis获取新增数据ID的几种方法
2886 0
|
10月前
|
SQL Java 关系型数据库
浅谈MyBatis批量插入方法,10w条数据处理仅需2秒
浅谈MyBatis批量插入方法,10w条数据处理仅需2秒
648 0
浅谈MyBatis批量插入方法,10w条数据处理仅需2秒
|
11月前
|
Java 数据库连接 mybatis
mybatis 的综合查询、使用别名的方法配置 mapper
mybatis 的综合查询、使用别名的方法配置 mapper
76 0
mybatis 的综合查询、使用别名的方法配置 mapper
|
11月前
|
XML SQL 缓存
MyBatis Mapper 接口方法执行原理分析
前言 通过前面入门 MyBatis 的文章《MyBatis 初探,使用 MyBatis 简化数据库操作(超详细)》,我们已经对 MyBatis 有了一定了解。
223 0
|
XML SQL Java
支付宝二面:Mybatis内的mapper方法为何不能重载
支付宝二面:Mybatis内的mapper方法为何不能重载
175 0
|
XML SQL Java
支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?我直接懵逼了...
支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?我直接懵逼了...
100 0
|
XML Java 数据库连接
【MyBatis框架点滴】——MyBatis开发DAO的两种方法:原始DAO开发方法和Mapper代理方法
  MyBatis常用的开发DAO的方式有两种,第一种就是常用的原始DAO的开发方法,第二种就是Mapper代理的方法。
|
SQL Java 数据库连接
MyBatis 批量插入数据的 3 种方法!(8)
MyBatis 批量插入数据的 3 种方法!(8)
105 0
|
SQL 关系型数据库 MySQL
MyBatis 批量插入数据的 3 种方法!(7)
MyBatis 批量插入数据的 3 种方法!(7)
68 0
MyBatis 批量插入数据的 3 种方法!(7)
相关产品
云迁移中心
推荐文章
更多