數字ID過長導致前後端資料不一致?

2021-10-14 23:54:03 字數 549 閱讀 5335

後台資料庫使用雪花id,資料庫使用bigint型別儲存

33978617558956897

這個id長度17位

封裝成物件傳到前端後變成了

33978617558956896

起初在後端來排除,發現後端沒有問題,那麼問題只能是在前端

我只能是猜想資料轉換出現了丟失,但是不知道具體原因

重大發現

js 中能精準表示的最大整數是 math.pow(2, 53),十進位制即 9007199254740992

9007199254740992明顯比33978617558956897小

但為什麼會變成33978617558956896,這個問題也在探索,希望有知道的朋友可以解釋一下。

既然js不能支援這麼長的數字

那麼就轉成字串好了,在字段上新增乙個序列化格式註解

@jsonserialize

(using = tostringserializer.

class

)private long studentid;

前後端資料互動技術 AJAX(一)

ajax的全稱是 asynchronous j ascript and xml 非同步j ascript和xml 通俗的理解 在網頁中利用xmlhttprequest物件和伺服器進行資料互動的方式,就是ajax。之前所學的技術,只能把網頁做得更美觀漂亮,或新增一些動畫效果,但是ajax能讓我們輕鬆實...

一種安全的前後端資料互動方案

加密方案 aes rsa兩種加密方式混合使用,能夠實現資料的全程加密 無論是上傳,還是拉取 1 從客戶端動態生成16位aes密碼 2 使用第一步生成的aes密碼加密要上發的請求資料,由於aes加密後是byte資料,所以這裡還需要使用base64封裝一層以方便傳輸。格式大概如下 3 使用rsa公鑰加密...

導致資料庫中資料不一致的原因

1 牛客網原題 2 參考資料 資料庫中有可能會存在不一致的資料。造成資料不一致的原因主要有 如果資料庫中存在冗餘資料,比如兩張表中都儲存了使用者的位址,在使用者的位址發生改變時,如果只更新了一張表中的資料,那麼這兩張表中就有了不一致的資料。比如某個訂票系統中,兩個使用者在同一時間訂同一張票,如果併發...