类型名称 |
显示长度 |
数据库类型 |
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.Integer if 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官方文档:
http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-type-conversions.html