Java数据类型和MySql数据类型对应一览

本文详细介绍了Java数据类型与MySQL数据库类型之间的映射关系,包括常见类型如VARCHAR、INT、FLOAT等,并提供了针对特殊类型如BLOB和BOOLEAN的具体应用场景说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类型名称    显示长度    数据库类型   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数据类型对应表。
对于blob,一般用于对图片的数据库存储,原理是把图片打成二进制,
然后进行的一种存储方式,在java中对应byte[]数组。

对于boolean类型,在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',...)  C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值