【Java Iterator】 迭代器Iterator双层循环 案例分享(89)

16 篇文章 0 订阅

需求:
需要一个按钮,每次执行的时候,调接口刷新数据库表中的数据:
刷新条件:
如果接口获取的数据和数据库表的数据完全一致则不刷新,如果不一致,则新增数据;

	// 实现接口层
	@Override
    public Result addInfo(Map<String, Object> paramMap) {
 
		List<Map<String,String>> reg = getRegionInfo();  // 接口获取的数据
		List<Map<String,String>> list = xxxMapper.selectQuestRegAll();  // 数据库查询的数据
		Iterator<Map<String, String>> iterator = reg.iterator();
		while (iterator.hasNext()){
			Map<String, String> next = iterator.next();
			String name = String.valueOf(next.get("name"));
			String code = String.valueOf(next.get("code"));
			Iterator<Map<String, String>> iterator2 = list.iterator();
			while (iterator2.hasNext()){
				Map<String, String> next2 = iterator2.next();
				String regionName = String.valueOf(next2.get("name"));
				String RegionCode = String.valueOf(next2.get("code"));
				// 根据条件删除数据:
				if(name.equals(regionName) && code.equals(RegionCode)){
					iterator.remove();
				}
			}
		}
		// 如果reg有数据,则新增;
		if(reg.size() > 0){
			xxxMapper.addInfo(reg);
		}

	// Mapper层
	void addInfo(List<Map<String, String>> paramList);
	
	// 持久化层
	<!-- 数据刷新 -->
    <insert id="addInfo" parameterType="java.util.List">
        <foreach collection="list" item="customer" index="index" separator=";">
            INSERT IGNORE INTO xxx_form_data
            <foreach collection="customer.entrySet()" index="key" separator="," open="(" close=")">
                ${key}
            </foreach>
            VALUES
            <foreach collection="customer.entrySet()" item="value" separator="," open="(" close=")">
                #{value}
            </foreach>
        </foreach>
    </insert>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KevinDuc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值