java数据库如何防止重复数据_解决方案:如何防止数据重复插入?

目录

为啥要解决数据重复插入?

解决方案实战

可落地小总结

一、为啥要解决数据重复插入?

问题起源,微信小程序抽风 wx.request() 重复请求服务器提交数据。后端服务也很简单,伪代码如下:

class SignLogService{

public void saveSignLog(SignLogDO log){

// 简单插入做记录

SignLogDAO.insert(log);

}

}

发现数据库会存在重复数据行,提交时间一模一样。但业务需求是不能有多余的 log 出现,这明显是个问题。

问题是,重复请求导致的数据重复插入。这问题造成的后果很明显:

数据冗余,可能不单单多一条

有些业务需求不能有多余数据,造成服务问题

问题如图所示:

java数据库如何防止重复数据_解决方案:如何防止数据重复插入?_第1张图片

解决方式:如何将 同请求 A,不执行插入,而是读取前一个请求插入的数据并返回。解决后流程应该如下:

你可能感兴趣的:(java数据库如何防止重复数据)