1. 程式人生 > >MySql數據類型與Java數據類型的對應關系

MySql數據類型與Java數據類型的對應關系

short resultset gte 來講 num 數字 mysql數據類型 input 可能

MySQL Connector/J 對於 MySql 數據類型和 Java 數據類型之間的轉換是很靈活的。
一般來講,任何 MySql 數據類型都可以被轉換為一個 java.lang.String,任何 MySql 數字類型都可以被轉換為任何一種 Java 數字類型(當然這樣也可能出一些四舍五入,溢出,精度丟失之類的問題)。

轉換表
MySql 數據類型可以被轉換成的 Java 類型
CHAR, VARCHAR, BLOB, TEXT, ENUM, and SET java.lang.String, java.io.InputStream, java.io.Reader, java.sql.Blob, java.sql.Clob
FLOAT, REAL, DOUBLE PRECISION, NUMERIC, DECIMAL, TINYINT, SMALLINT, MEDIUMINT, INTEGER, BIGINT java.lang.String, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Double, java.math.BigDecimal
DATE, TIME, DATETIME, TIMESTAMP java.lang.String, java.sql.Date, java.sql.Timestamp


ResultSet.getObject() 方法遵循 JDBC 規範對 MySql 和 Java 的類型進行轉換。

ResultSet.getObject() 對 MySql 類型和 Java 類型轉換表
MySql 類型名GetColumnClassName 返回值返回的 Java 類
BIT(1)(MySQL-5.0 新引入) BIT java.lang.Boolean
BIT(大於 1) (MySQL-5.0 新引入) BIT byte[]
TINYINT TINYINT 如果 tinyInt1isBit 配置設置為 true(默認為 true),是 java.lang.Boolean,存儲空間 為 1;否則是為 java.lang.Integer
BOOL, BOOLEAN TINYINT 參見 TINYINT。這些是 TINYINT(1) 另一種寫法而已
SMALLINT[(M)] [UNSIGNED] SMALLINT [UNSIGNED] java.lang.Integer(不管是否無符)
MEDIUMINT[(M)] [UNSIGNED] MEDIUMINT [UNSIGNED] java.lang.Integer;無符的話是 java.lang.Long(C/J 3.1 或更早),或者 java.lang.Integer(C/J 5.0 或更晚)
INT,INTEGER[(M)] [UNSIGNED] INTEGER [UNSIGNED] java.lang.Integer;無符的話是 java.lang.Long
BIGINT[(M)] [UNSIGNED] BIGINT [UNSIGNED] java.lang.Long;無符的話是 java.math.BigInteger
FLOAT[(M,D)] FLOAT java.lang.Float
DOUBLE[(M,B)] DOUBLE java.lang.Double
DECIMAL[(M[,D])] DECIMAL java.math.BigDecimal
DATE DATE java.sql.Date
DATETIME DATETIME java.sql.Timestamp
TIMESTAMP[(M)] TIMESTAMP java.sql.Timestamp
TIME TIME java.sql.Time
YEAR[(2|4)] YEAR 如果 yearIsDateType 配置設置為 false,返回的對象類型為 java.sql.Short;如果設置為 true(默認為 true),返回的對象類型是 java.sql.Date,其具體時間是為一月一日零時零分
CHAR(M) CHAR java.lang.String(除非該列字符集設置為 BINARY,那樣返回 byte[])
VARCHAR(M) [BINARY] VARCHAR java.lang.String(除非該列字符集設置為 BINARY,那樣返回 byte[])
BINARY(M) BINARY byte[]
VARBINARY(M) VARBINARY byte[]
TINYBLOB TINYBLOB byte[]
TINYTEXT VARCHAR java.lang.String
BLOB BLOB byte[]
TEXT VARCHAR java.lang.String
MEDIUMBLOB MEDIUMBLOB byte[]
MEDIUMTEXT VARCHAR java.lang.String
LONGBLOB LONGBLOB byte[]
LONGTEXT VARCHAR java.lang.String
ENUM(‘value1‘,‘value2‘,...) CHAR java.lang.String
ET(‘value1‘,‘value2‘,...) CHAR java.lang.String

原文地址:https://blog.csdn.net/defonds/article/details/46681701

MySql數據類型與Java數據類型的對應關系