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