為何mysql中的int類型對應於java中的Long類型


發現在很多能根據MySQL數據庫表結構自動生成 bean,mapper,service,controller的開發框架中,如果字段的數據類型是int,一般都是對應於java類型中的Long類型,這是為何?

下圖展示MySQL中int分別為有符號及無符號的情況下的取值范圍;展示java中Integer和Long的取值范圍。從對比中可以看出,如果MySQL選擇無符號的int類型時,它的取值范圍是要超過java的Integer類型的,所有猜測為了確保能包括MySQL中int的所有取值范圍,使用java中的Long映射最為可靠。

另外看下int類型是否有符號的設置:

總結:其實自動生成代碼的框架使用Long來映射MySQL的int更多的是為了原理上符合要求,實際開發中很多情況設置為Integer來映射也完全可以,比如MySQL字段存的值就是帶符號,獲取字段的長度有嚴格限制等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM