mysql 的批量插入语句:java
INSERT INTO TABLE_NAME(FILED) VALUES (NAME_VALUE1), (NAME_VALUE2), (NAME_VALUE3)
MyBatis批量插入:mysql
<insert id="addTrainRecordBatch" useGeneratedKeys="true" parameterType="java.util.List"> <selectKey resultType="long" keyProperty="id" order="AFTER"> SELECT LAST_INSERT_ID() </selectKey> insert into t_train_record (add_time,emp_id,activity_id,flag) values <foreach collection="list" item="item" index="index" separator="," > (#{item.addTime},#{item.empId},#{item.activityId},#{item.flag}) </foreach> </insert>
foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每个元素进行迭代时的别名,index指 定一个名字,用于表示在迭代过程当中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号做为分隔 符,close表示以什么结束sql
1.若是传入的是单参数且参数类型是一个List的时候,collection属性值为list数组
2.若是传入的是单参数且参数类型是一个array数组的时候,collection的属性值为arrayspa
3.若是传入的参数是多个的时候,咱们就须要把它们封装成一个Map了,固然单参数也能够封装成mapcode