java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Mybatis实现批量插入

Mybatis实现批量插入的操作代码

作者:考虑考虑

本段文字介绍了使用Mybatis和MybatisPlus进行批量插入操作的方法与优化,通过定义实体类和配置mapper.xml文件,能显著提高数据插入效率,避免单条插入带来的性能问题,需要的朋友可以参考下

前言

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

Mybatis实现批量插入

定义实体类

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

    /**
     * 
     */
    private String name;
}

定义dao层

public interface UserMapper extends BaseMapper<User> {


    void insertBatch(List<User> list);
}

maper.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语句插入的话,效率比较快,使用提供的方法的话,有可能是一条一条插入,比较慢

到此这篇关于Mybatis实现批量插入的操作代码的文章就介绍到这了,更多相关Mybatis实现批量插入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文