总体思路:校验导入的数据和数据库中已有的数据是否重复:首先先判断表中是否有重复的数据,然后查询数据库中所有的数据,然后判断这条导入的数据和数据库中的数据是否一样
//解释:getId()是获取这条数据唯一性的特指,如果你的主键是唯一的,就getId() 如果是其他的,就根据你自己的需求更换
//首先先判断excel中不为空
if(StringUtils.isEmpits(getKey(excel))){
//再判断excel内是否又重复的数据
List countList=groupMap.get(getKey(excel));
if(countList>1){
log.error("excel中有重复的数据")
}
//从数据库中全量查出,判断excel内的数据是否与数据库中已经存在的数据相同
//mapper.selectList(null)是mybatis-plus全查的方法
for(XXX xxx : mapper.selectList(null)){
if(excel.getId.equals(xxx.getId())){
log.errer("excel中的数据与数据库中已存在的数据重复");
}
}
}
其实代码很简单,需要我们去不断的积累学习的是思路和解决的方案,各位共勉!