SpringBoot+MyBatis批量插入数据的方法
分类:计算机 | 数据库 | Mybatis | 综合 1338
更新:2021-03-24 13:51:56编辑
在使用MyBatis往数据库中插入大量的数据时如果一条记录一条记录地添加效率是十分低的,需要进行批量的插入,下面给大家介绍一种能够批量插入数据的方法。
Mapper接口
int insertBatch(@Param("userList") List<User> userList);
Mapper xml映射文件
<!--批量插入数据-->
<insert id="insertBatch" parameterType="com.test.pojo.User">
INSERT INTO tb_user
(
ID, NAME, AGE,WEIGHT
)
VALUES
<foreach collection="userList" item="model" separator=",">
(
#{model.id}, #{model.name}, #{model.age}, #{model.weight}
)
</foreach>
</insert>
说明
- Mapper接口中的@Param("userList")对应xml文件中的collection="userList",@Param不能少,否则在xml中匹配不到collection="userList"。
- Mapper接口中的User对应xml文件中的parameterType="com.test.pojo.User"。
- insertBatch方法的返回值是批量插入的记录数量。
性能比较
例如List
参考资料
猿导航
阅读排行榜
- 1vue和el-table使用经验-如何刷新表格数据10318
- 2three.js加载3D瓦片和3dtiles数据生成交互式地图的开源项目8960
- 3Microsoft Visual C++ Redistributable是什么,有什么作用?6286
- 4uni-app使用经验—vue页面和html页面如何互相调用接口并传参4936
- 5mybatis使用经验——mybatis-spring-boot-starter和mybatis的版本对应关系表(持续更新~)4697
- 6Spring学习经验—@ResponseBody注解的使用说明4358
- 7Druid异常解决经验—java.sql.SQLException url not set3960
- 8如何用批处理命令(bat脚本)启动和停止windows服务3636
- 9nuxt.js项目中如何添加和使用全局变量3565
- 10Intellij IDEA下的版本控制VCS的启用与关闭3557
- 11解决SpringBoot使用maven下载不了jar包的问题3039
- 12linux中解压tar.gz文件报错“gzip: stdin: invalid compressed data--format violated”2833
- 13nuxtjs asyncData使用经验—如何发起多个axios请求并携带参数2830
- 14在Nuxt.js项目的head中引用外部js文件2667
- 15在NVIDIA控制面板设置参数时提示“拒绝访问 无法应用选定的设置到您的系统”的解决方法之一2577