【Mybatis扩展】MybatisPlus批量插入性能比较

MybatisPlus批量插入性能比较

普通插入,很慢。

    @GetMapping("/t1")
    public void t1() {
        StopWatch stopWatch = new StopWatch();
        stopWatch.start("mybatis plus save one");
        for (int i = 0; i < 1000; i++) {
            UserInfo userInfo = new UserInfo();
            userInfo.setUserName("username" + i);
            userInfo.setPassword("pwd" + i);
            userMapper.insert(userInfo);
        }
        stopWatch.stop();
        log.info("mybatis plus save one:" + stopWatch.getTotalTimeMillis());
    }

批量插入,稍快。

    @GetMapping("/t2")
    public void t2() {
        StopWatch stopWatch = new StopWatch();
        stopWatch.start("mybatis plus save two");
        List<UserInfo> userInfos = new ArrayList<>();
        for (int i = 0; i < 10000; i++) {
            UserInfo userInfo = new UserInfo();
            userInfo.setUserName("username" + i);
            userInfo.setPassword("pwd" + i);
            userInfos.add(userInfo);
        }
        userService.saveBatch(userInfos);
        stopWatch.stop();
        log.info("mybatis plus save two:" + stopWatch.getTotalTimeMillis());
    }

在配置MySQL连接地址的时候,添加&rewriteBatchedStatements=true,性能更好。

【Mybatis扩展】MybatisPlus批量插入性能比较_第1张图片

你可能感兴趣的:(实用工具,mybatis,java,mysql)