需求:項目須要調用別人的接口,讀取的數據實時的對話記錄,我這邊須要讀取並保存到數據庫,而後須要用數據寫一些接口;數據庫
因爲數據是實時更新的,因此我這邊就寫了一個定時任務配置類,以下圖ide
若是直接添加,insert的話這樣會有相同的數據重複添加,如何避免呢spa
首先,須要實現更新或忽略的數據的判別字段必須是主鍵或存在惟一索引(能夠是單列或多列)。blog
好比要根據id判斷是否重複,那麼id必須是主鍵或者存在惟一索引。索引
好比要根據rid + type + date判斷是否重複,那麼要創建3個字段聯合的惟一索引。接口
2.而後就是修改SQL了,以下:it
存在就更新:class
REPLACE INTO 表名(字段1, 字段2, ...) VALUES(值1, 值2, ...), (值1, 值2, ...);配置
存在就忽略:date
INSERT IGNORE 表名(字段1, 字段2, ...) VALUES(值1, 值2, ...), (值1, 值2, ...);
這樣就能夠簡單地對數據進行批量操做。