记一次对接第三方数据,存入数据库后清洗数据,数据重复

一现象:

        对接第三方数据,先全量存入数据库,然后进行跑批清洗,在清洗过程中发现每次都有不同条数的数据重复。

二根本原因:

        就是数据库中有的重复的字段条数存在空格,有的没有。 

        QueryWrapper<DDeviceType> queryWrapper = new QueryWrapper<>();queryWrapper.eq("protocol_type",zhttVhc.getTerminalModel());if(StringUtils.isNotBlank(zhttVhc.getEquipmentmodel())) {queryWrapper.eq("device_model", zhttVhc.getEquipmentmodel());}else {queryWrapper.isNull("device_model");}DDeviceType dDeviceType = dDeviceTypeMapper.selectOne(queryWrapper);if (Objects.isNull(dDeviceType)) {deviceType.setProtocolType(zhttVhc.getTerminalModel());if (StringUtils.isNotBlank(zhttVhc.getEquipmentmodel())) {deviceType.setDeviceModel(zhttVhc.getEquipmentmodel().trim());}deviceType.setCommunicationModel(zhttVhc.getCommunicationMode());deviceType.setLocationModel(zhttVhc.getPositionMode());deviceType.setCreatetime(now);deviceType.setUpdateTime(now);

三解决办法:

        之前是有发现数据存在空格,当时只是把插入时候去掉了空格,通过查询并插入时,查询没有去空格判断。

        解决一是:queryWrapper.eq("device_model", zhttVhc.getEquipmentmodel().trim()); 查询这一行也加入去空格。

        解决二是(根本办法):在存入数据时,就去掉所有空格。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java的JDK动态代理

JDK动态代理是指&#xff1a;代理类实例在程序运行时&#xff0c;由JVM根据反射机制动态的生成。也就是说代理类不是用户自己定义的&#xff0c;而是由JVM生成的。 由于其原理是通过Java反射机制实现的&#xff0c;所以在学习前&#xff0c;要对反射机制有一定的了解。传送门&…

模型可视化-TensorBoard

TensorBoard 是一个由 TensorFlow 提供的可视化工具&#xff0c;用于展示 TensorFlow 训练过程中的各种指标和结果。它提供了一系列功能&#xff0c;帮助用户更好地理解、调试和优化他们的 TensorFlow 模型。 TensorBoard 可以用于以下几个方面&#xff1a; **训练过程可视化&…

天星金融细说社保 筑牢民生保障防线

随着经济的蓬勃发展与社会的不断进步&#xff0c;社保制度作为保障人民群众切身利益的重要机制&#xff0c;其重要性日益凸显。近年来&#xff0c;社保体系的不断完善与更新&#xff0c;使得群众对社保的参与意识逐渐增强。然而&#xff0c;却有人利用群众的需求&#xff0c;以…

解释一下什么是宏定义

在预编译时将宏名替换成字符串的过程称为"宏展开"(也叫宏替换)。 宏名一般用大写&#xff0c;以便于与变量区别 宏定义不作语法检查&#xff0c;只有在编译被宏展开后的源程序才会报错 宏定义不要行末加分号 #define PI 3.14 #define MAX(a, b) ((a) > (b) ?…

【简单介绍下PostCSS】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

python爬虫 - 爬取图片

文章目录 1、爬取图片示例1&#xff1a;使用 .urlretrieve() 函数2、爬取图片示例2 - 使用 open/write 函数3、爬取图片示例33.1 使用 open/write 下载3.2 使用 urlretrieve下载 爬虫的本质&#xff1a;模拟对应的App&#xff0c;浏览器访问对应的地址获取到数据 1、爬取图片示…

vue封装websocket以及心跳检测、重连

关于websocket的封装有很多&#xff0c;此处记录一下自身项目已封装好的且已应用的&#xff0c;备份。 webSocketUtil.js&#xff1a; class WebSocketUtils {constructor() {this.url null //ws地址 或者 wssthis.data nullthis.isOpenSocket false //避免重复连接this.t…

57、通过EEG数据的SHAPE变化,揭开EEG-TCNet的黑匣子[看好了小子,我只教这一次]

之前在第18篇博客中对于EEG-TCNet这个处理EEG信号的sota模型进行了介绍&#xff0c;也给出了模型&#xff0c;目前也是全网对于EEG-TCNet浏览度最高的文章了&#xff0c;我觉得讲的已经很细致了&#xff0c;没想到还是有不少同学疑问&#xff0c;这也是全网缺少该模型pytorch代…

3D Gaussian Splatting技术原理

3D Gaussian Splatting 是一种用于体积渲染的技术,特别适用于科学和医学可视化。这种技术使得用户能够以一种直观的方式查看和分析三维数据集,如医学成像数据(MRI、CT扫描)或科学模拟数据。 技术原理 3D Gaussian Splatting基本上是一种将3D空间中的点数据转换成一个连续…

前端基础(之三)

Q1&#xff1a;介绍一下盒模型 A1&#xff1a;盒模型是用于描述Html在页面总所占空间的方式&#xff0c;盒模型将每个html元素视为一个矩形框&#xff0c;该框主要由四个主要部分组成&#xff1a;内容区域、内边距、边框和外边距。 内容区域是Html元素实际包含内容的部分&…

Redis中的Sentinel(五)

Sentinel 检测主观下线状态 在默认情况下&#xff0c;Sentinel会以每秒一次的频率向所有与它创建了命令连接的实例(包括主服务器、从服务器、其他Sentinel在内) 发送PING命令&#xff0c;并通过实例返回的PING命令回复来判断实例是否在线。如图所示&#xff0c;带箭头的连线显…

Word学习笔记之奇偶页的页眉与页码设置

1. 常用格式 在毕业论文中&#xff0c;往往有一下要求&#xff1a; 奇数页右下角显示、偶数页左下角显示奇数页眉为每章标题、偶数页眉为论文标题 2. 问题解决 2.1 前期准备 首先&#xff0c;不论时要求 1、还是要求 2&#xff0c;这里我们都要做一下设置&#xff1a; 鼠…

如何封装Vue组件并上传到npm

前言 环境准备 1.注册npm账号&#xff1a;npm | Home (npmjs.com) 2.保证当前环境安装了vue、webpack、node&#xff0c;以下工作将在该环境下进行&#xff08;没有的小伙伴自行百度安装哈~&#xff09; 3.一下用到的环境版本 webpack&#xff1a;v5.1.4node&#xff1a;v…

如何在Java中实现线程同步

在Java中实现线程同步是多线程编程中的一个重要概念&#xff0c;目的是控制对共享资源的访问&#xff0c;以防止多个线程同时修改某一资源&#xff0c;从而避免数据的不一致性和发生冲突。以下是几种在Java中实现线程同步的方法&#xff1a; ### 使用synchronized关键字 sync…

使用 MyBatis 的 mapper 接口调用时的要求

1&#xff1a; Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同&#xff1b; 2&#xff1a; Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的parameterType 的类型相同&#xff1b; 3&#xff1a; Mapper 接口方法的输出参数类型和 mapper.xml 中…

SAM5716B 法国追梦DREAM 音频DSP芯片

法国追梦/DERAM SAM5504/5704/5716/5808音频DSP芯片,开发板&#xff0c;方案 可用于电子鼓、电子琴、电吉他、效果器、均衡器、啸叫抑制器等电声产品领域 全系列芯片&#xff1a; SAM2634 SAM2695 SAM5504B SAM5704B SAM5708B SAM5808B SAM5716B SAM5916B... 原厂开发…

根据状态转移图实现时序电路

描述 某同步时序电路的状态转换图如下&#xff0c;→上表示“C/Y”&#xff0c;圆圈内为现态&#xff0c;→指向次态。 请使用D触发器和必要的逻辑门实现此同步时序电路&#xff0c;用Verilog语言描述。 如图所示&#xff1a; 电路的接口如下图所示&#xff0c;C是单bit数据…

密码学 | 承诺:常见的承诺方案

&#x1f951;原文&#xff1a;密码学原语如何应用&#xff1f;解析密码学承诺的妙用 - 知乎 1 简介 密码学承诺 涉及 承诺方、验证方 两个参与方&#xff0c;以及以下两个阶段&#xff1a; 承诺阶段&#xff1a;承诺方选择一个敏感数据 v v v&#xff0c;为它计算出相应…

国家信息安全漏洞库(CNNVD)技术支撑单位等级证书

国家信息安全漏洞库&#xff08;CNNVD&#xff09;技术支撑单位等级证书是CNNVD对参与信息安全漏洞研究、事件解读、漏洞信息共享等工作的单位进行认证和评级的机制。该证书有助于提升单位在信息安全领域的影响力和公信力&#xff0c;同时也是对单位技术实力和贡献的一种认可。…

AUTOSAR ARXML处理 - C#的解析代码(四)

4.3 配置参数关键类 4.3.1 配置数据&#xff1a;模块 MODULE &#xff08;ECUCMODULECONFIGURATIONVALUES&#xff0c;<ECUC-MODULE-CONFIGURATION-VALUES>&#xff09; 与ECUCMODULEDEF&#xff0c;<ECUC-MODULE-DEF> 关联 /// <remarks/>[System.CodeDom…