MySql數據類型與Java數據類型的對應關系
阿新 • • 發佈:2018-08-05
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 的類型進行轉換。
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數據類型的對應關系