其他分享
首页 > 其他分享> > mybatis-批量插入

mybatis-批量插入

作者:互联网

批量插入的语法是这样的,只要在values 后面增加插入的值就可以了。

insert into tbl_emp (emp_id, emp_name, gender,email, d_id) values ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) ,
( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? )

在Mapper 文件里面,我们使用foreach 标签拼接values 部分的语句:

<!-- 批量插入-->
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true">
	<selectKey resultType="long" keyProperty="id" order="AFTER">
		SELECT LAST_INSERT_ID()
	</selectKey>
	insert into tbl_emp (emp_id, emp_name, gender,email, d_id)
	values
	<foreach collection="list" item="emps" index="index" separator=",">
		( #{emps.empId},#{emps.empName},#{emps.gender},#{emps.email},#{emps.dId} )
	</foreach>
</insert>

Java 代码里面,直接传入一个List 类型的参数。

我们来测试一下。效率要比循环发送SQL 执行要高得多。最关键的地方就在于减少了跟数据库交互的次数,并且避免了开启和结束事务的时间消耗。

 

标签:批量,gender,email,插入,values,emp,mybatis,id,emps
来源: https://blog.csdn.net/Leon_Jinhai_Sun/article/details/110732840