概述
本篇是 POI系列 的最后一篇。传送门 Java 开发中如何用 POI 优雅的导出 Excel 文件, Java 开发中如何用 POI 优雅的导入 Excel 文件.
场景分析
大多数开发中是不需要重复的数据的, 所以后端开发中需要做去重操作, 而且为了更加友好的交互, 我们需要将导入失败的数据返回给用户。一般数据重复有以下几个场景:
Excel 中本身存在重复数据, 即本次导入存在重复数据;
数据库中已经存在了该条数据, 即历史导入存在重复数据;
为了减轻数据库的压力, 这里在设计中引入缓存 Redis 。
整体思路如下:
bitmap 判断是否存在;
内存中数据是否重复;
redis 和 mysql 批量插入;
数据库中插入失败处理;
代码实现
为简化无聊的 CRUD 编写, 引入了 mybatis-plus 的逆向 generator 插件。
pom.xml
application.yml
mysql-schema
generator
Redis
User.java
.HashUtils.java
核心逻辑
场景测试
最后
本文到此结束,感谢阅读。如果您觉得不错,点赞+关注一波呗!