Mybatis实现批量插入

前言

在使用Mybatis或者Mybatis Plus框架开发的时候,要实现批量插入操作,毕竟一条一条插入,数据量庞大的时候,很慢

Mybatis实现批量插入

定义实体类

kotlin 复制代码
@Data
public class User {
    /**
     * 
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 
     */
    private String name;
}

定义dao层

csharp 复制代码
public interface UserMapper extends BaseMapper<User> {


    void insertBatch(List<User> list);
}

maper.xml

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.demomybatisplus.mapper.UserMapper">

    <resultMap id="BaseResultMap" type="org.example.demomybatisplus.model.User">
            <id property="id" column="id" />
            <result property="name" column="name" />
    </resultMap>

    <sql id="Base_Column_List">
        id,name
    </sql>

    <insert id="insertBatch" parameterType="java.util.List">
        INSERT INTO user
        (id, name)
        VALUES
        <foreach collection="list" item="item" separator=",">
            (#{item.id}, #{item.name})
        </foreach>
    </insert>

</mapper>

总结

这样使用sql语句插入的话,效率比较快,使用提供的方法的话,有可能是一条一条插入,比较慢

相关推荐
Bs_MoneyMagnet3 分钟前
基于springboot+vue的非遗物质文化遗产系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
万物智能4 分钟前
波形发生AD9833模块配置—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
java
计算机毕设定制辅导-无忧学长17 分钟前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Wang's Blog18 分钟前
Java 项目实战: 外卖平台-数据库环境搭建与十一张表结构解析
java·服务器·redis
打工仔折腾 AI27 分钟前
Prometheus 告警推钉钉:从单群 Webhook 到跨网络 Alertmanager 实战
人工智能·后端·python·性能优化
console.log('npc')37 分钟前
06 — Model 层:数据模型与操作
前端·后端·node.js·express
白远山37 分钟前
上海24小时自助健身房系统软件开发实战指南
java·架构·uni-app·需求分析
泡海椒39 分钟前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
aramae1 小时前
模拟实现memset()(C语言)
c语言·开发语言·后端
OxYGC1 小时前
[AI工程] Spring AI 第十四篇:Agent 五种模式在 2.0 里怎么写
java·spring·ai·ai编程