發現在很多能根據MySQL數據庫表結構自動生成 bean,mapper,service,controller的開發框架中,如果字段的數據類型是int,一般都是對應於java類型中的Long類型,這是為何?
下圖展示MySQL中int分別為有符號及無符號的情況下的取值范圍;展示java中Integer和Long的取值范圍。從對比中可以看出,如果MySQL選擇無符號的int類型時,它的取值范圍是要超過java的Integer類型的,所有猜測為了確保能包括MySQL中int的所有取值范圍,使用java中的Long映射最為可靠。
另外看下int類型是否有符號的設置: