1. 程式人生 > 其它 >MySQL與Java 整型資料對映

MySQL與Java 整型資料對映

MySQL 整型資料tinyint 、int和bigint對映成Java資料型別分析,常見異常java.math.BigInteger分析。
  • tinyint 佔用1個位元組,取值範圍-128到127,對映成Java中的Integer型別;tinyint(1)用來表示boolean型別,0代表false,非0代表true,對映成Java中的Boolean。
  • int 佔用4個位元組,取值區間是[-2^31, -2^31-1],在java中會對映成Integer型別。
  • bigint 佔用8個位元組,取值範圍[-2^63, -2^63-1],在java中會對映成Long 型別;而BIGINT UNSIGNED的取值區間是[0, 2^64-1],其中一半的資料超出了Java中Long型別的取值區間,則需要將其對映為BigInteger。

溫馨提示,MySQL中在宣告型別時,不管是int(7)還是bigint(7),括號內數字7不會限儲存值的大小,只限制查詢結果的展示寬度。

舉個例子,在Mybatis將BIGINT UNSIGNED型別資料庫欄位轉換成實體物件中Long型別時,對超出Long取值區間的值處理不當就會出現以下異常:

java.lang.ClassCastException: java.lang.Long cannot be cast to java.math.BigInteger


  讀後有收穫,小禮物走一走,請作者喝咖啡。

讚賞支援