| 類型名稱 |
顯示長度 |
資料庫類型 |
JAVA類型 |
JDBC類型索引(int) |
描述 |
| |
|
|
|
|
|
| VARCHAR |
L+N |
VARCHAR |
java.lang.String |
12 |
|
| CHAR |
N |
CHAR |
java.lang.String |
1 |
|
| BLOB |
L+N |
BLOB |
java.lang.byte[] |
-4 |
|
| TEXT |
65535 |
VARCHAR |
java.lang.String |
-1 |
|
| |
|
|
|
|
|
| INTEGER |
4 |
INTEGER UNSIGNED |
java.lang.Long |
4 |
|
| TINYINT |
3 |
TINYINT UNSIGNED |
java.lang.Integer |
-6 |
|
| SMALLINT |
5 |
SMALLINT UNSIGNED |
java.lang.Integer |
5 |
|
| MEDIUMINT |
8 |
MEDIUMINT UNSIGNED |
java.lang.Integer |
4 |
|
| BIT |
1 |
BIT |
java.lang.Boolean |
-7 |
|
| BIGINT |
20 |
BIGINT UNSIGNED |
java.math.BigInteger |
-5 |
|
| FLOAT |
4+8 |
FLOAT |
java.lang.Float |
7 |
|
| DOUBLE |
22 |
DOUBLE |
java.lang.Double |
8 |
|
| DECIMAL |
11 |
DECIMAL |
java.math.BigDecimal |
3 |
|
| BOOLEAN |
1 |
同TINYINT |
|
|
|
| |
|
|
|
|
|
| ID |
11 |
PK (INTEGER UNSIGNED) |
java.lang.Long |
4 |
|
| |
|
|
|
|
|
| DATE |
10 |
DATE |
java.sql.Date |
91 |
|
| TIME |
8 |
TIME |
java.sql.Time |
92 |
|
| DATETIME |
19 |
DATETIME |
java.sql.Timestamp |
93 |
|
| TIMESTAMP |
19 |
TIMESTAMP |
java.sql.Timestamp |
93 |
|
| YEAR |
4 |
YEAR |
java.sql.Date |
91 |
以上就是Java資料類型和MySql資料類型對應表。
對於bolb,一般用於對圖片的資料庫儲存,原理是把圖片打成二進位,然後進行的一種儲存方式,在java中對應byte[]數組。
對於boolen類型,在mysql資料庫中,個人認為用int類型代替較好,對bit操作不是很方便,尤其是在具有web頁面開發的項目中,表示0/1,對應java類型的Integer較好。
| BIT(1) (new in MySQL-5.0) |
BIT |
java.lang.Boolean |
| BIT( > 1) (new in MySQL-5.0) |
BIT |
byte[] |
| TINYINT |
TINYINT |
java.lang.Boolean if the configuration property tinyInt1isBit is set to true (the default) and the storage size is 1, or java.lang.Integerif not. |
| BOOL, BOOLEAN |
TINYINT |
See TINYINT, above as these are aliases for TINYINT(1), currently. |
| SMALLINT[(M)] [UNSIGNED] |
SMALLINT [UNSIGNED] |
java.lang.Integer (regardless if UNSIGNED or not) |
| MEDIUMINT[(M)] [UNSIGNED] |
MEDIUMINT [UNSIGNED] |
java.lang.Integer, if UNSIGNED java.lang.Long (C/J 3.1 and earlier), or java.lang.Integer for C/J 5.0 and later |
| INT,INTEGER[(M)] [UNSIGNED] |
INTEGER [UNSIGNED] |
java.lang.Integer, if UNSIGNED java.lang.Long |
| BIGINT[(M)] [UNSIGNED] |
BIGINT [UNSIGNED] |
java.lang.Long, if UNSIGNED 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 |
If yearIsDateType configuration property is set to false, then the returned object type is java.sql.Short. If set to true (the default) then an object of type java.sql.Date (with the date set to January 1st, at midnight). |
| CHAR(M) |
CHAR |
java.lang.String (unless the character set for the column is BINARY, then byte[] is returned. |
| VARCHAR(M) [BINARY] |
VARCHAR |
java.lang.String (unless the character set for the column is BINARY, then byte[] is returned. |
| 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 |
| SET('value1','value2',...) |
CHAR |
java.lang.String |
mysql官方文檔: