Mybatis实现批量插入的操作代码
更新时间:2026年07月01日 08:20:52 作者:考虑考虑
本段文字介绍了使用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实现批量插入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring @Value如何通过${}、#{}注入不同类型的值
这篇文章主要介绍了Spring @Value如何通过${}、#{}注入不同类型的值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05


最新评论