老司机学习MyBatis之动态SQL使用foreach在MySQL中批量插入

本文介绍了如何在MySQL中使用MyBatis的动态SQL标签foreach进行批量数据插入,包括两种方法:一是利用`insert into values`语法,二是通过设置`allowMultiQueries=true`参数解决MySQL不支持一次性多条插入的问题。
摘要由CSDN通过智能技术生成

一、前言

当我们使用MyBatis一次性插入多条数据时候也可以使用foreach标签,本文我们将介绍MySQL中使用MyBatis批量插入数据的两种方式。

二、案例

①第一种方式

修改EmpMapper文件,增加batchSave方法

/**
* 批量插入数据
* @param empList
*/
public void batchSave(List<Emp> empList);

修改EmpMapper.xml文件

<insert id="batchSave">
	into t_emp(emp_name,emp_email,dept_id) VALUES 
	<foreach collection="list" item="emp" separator=",">
		(#{emp.empName}, #{emp.empEmail}, #{emp.deptId})
	</foreach>
</insert>

修改MyBatis测试类,增加测试方法testBatchSave

@Test
public void testBatchSave() throws IOException {
	SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
	SqlSession openSession = sqlSessionFactory.openSession();
	try {
		EmpMapper mapper
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值