李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
其它
正文
【转载】MyBatis一次性插入多条数据
Leefs
2020-01-16 AM
5153℃
3条
# 【转载】MyBatis一次性插入多条数据 使用MyBatis的Mapper.xml里面的 `
`标签进行循环插入,这种方法相对于Controller层的for循环一条条的插入,不论是效率还是数据库消耗都较之于后一种有很大提升。 ```xml
insert into `user`(uPassword,uName,uIDCard,uPhone,uEmail,uStatus) values
(#{item.uPassword},#{item.uName},#{item.uIDCard},#{item.uPhone},#{item.uEmail},#{item.uStatus})
``` > 参数说明 > + 1.collerction:表示需要遍历的类型 基本上只有:list、array、Map这三种写法。 > + 2.index:表示循环的下标 > + 3.separator:表示每个对象的分隔符(也是进行下一次循环的标识符)。 > + 4.item:表示当前循环对象 > + 5.open:以什么开头 > + 6.close:以什么结尾 **提示:一般不要写open、close,不然容易造成嵌套错误。** ```sql nested exception is java.sql.SQLException: Column count doesn't match value count at row 1 ``` (嵌套异常:sql语句的列计数与第1行的值计数不相匹配) **特别注意:**mysql默认接受sql的大小是1048576(1M),List插入数据量超过1M会报如下异常:(可通过调整MySQL安装目录下的my.ini文件中[mysqld]段的"max_allowed_packet = 1M") nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (5677854 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable. *附:[参考原文链接](https://blog.csdn.net/CCIEJohn_zhou/article/details/90523769)*
标签:
MySQL
,
MyBatis
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/433.html
上一篇
容器深入研究--Set和存储顺序
下一篇
容器深入研究--队列
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
Sentinel
Ubuntu
Jenkins
Git
哈希表
Http
Java编程思想
Hbase
MyBatis
GET和POST
Java
设计模式
Golang基础
Spark RDD
MyBatisX
Golang
Typora
Azkaban
Spark Streaming
Java阻塞队列
栈
Flume
LeetCode刷题
二叉树
Map
高并发
Tomcat
Linux
DataX
Spring
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭