mybaits 一对多关系 批量添加

问题需求:

一个设备入库单下有多个设备,即orderId对应deviceIdList,一对多的关系

需要存入数据库中

解决思路:

1。deviceIdList 遍历,一次向数据库插入一行语句。
   优点:编写简单   缺点:多次连接数据库。
2。封装好对象,传入对象,数据库批量添加。
  优点:只需一次连接数据库     缺点: 编写复杂一些。

具体实现(第二种):

// 构建对象
HashMap<String,List<String>> map = new HashMap<>();
List<String> deviceIdList = getDeviceIdList();
String orderId = "123456";
map.put("orderId",orderId);
map.put("deviceIdList",deviceIdList);
xxxDao.insert(map); //传入map对象  xml通过key去识别

//xml文件
<insert>
	insert into order_device(order_id,device_id) 
	values
	<foreach collection="deviceIdList" item="item" separator="," index="key">
		(#{
     orderId},#{
     item})
	</foreach>
</insert>

你可能感兴趣的:(SpringBoot)