java大量数据如何去重_Java批量导入时,如何去除重复数据并返回结果?

9e7226a68c7f

概述

本篇是 POI系列 的最后一篇。传送门 Java 开发中如何用 POI 优雅的导出 Excel 文件, Java 开发中如何用 POI 优雅的导入 Excel 文件.

场景分析

大多数开发中是不需要重复的数据的, 所以后端开发中需要做去重操作, 而且为了更加友好的交互, 我们需要将导入失败的数据返回给用户。一般数据重复有以下几个场景:

Excel 中本身存在重复数据, 即本次导入存在重复数据;

数据库中已经存在了该条数据, 即历史导入存在重复数据;

为了减轻数据库的压力, 这里在设计中引入缓存 Redis 。

整体思路如下:

bitmap 判断是否存在;

内存中数据是否重复;

redis 和 mysql 批量插入;

数据库中插入失败处理;

代码实现

为简化无聊的 CRUD 编写, 引入了 mybatis-plus 的逆向 generator 插件。

pom.xml

9e7226a68c7f

application.yml

9e7226a68c7f

mysql-schema

9e7226a68c7f

generator

9e7226a68c7f

Redis

9e7226a68c7f

User.java

9e7226a68c7f

.HashUtils.java

9e7226a68c7f

核心逻辑

9e7226a68c7f

场景测试

9e7226a68c7f

最后

本文到此结束,感谢阅读。如果您觉得不错,点赞+关注一波呗!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值