Java数据类型和MySql数据类型对应表。

来源:互联网 发布:golang mongodb连接池 编辑:程序博客网 时间:2024/06/01 08:51
类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述      VARCHARL+NVARCHARjava.lang.String12 CHARNCHARjava.lang.String1 BLOBL+NBLOBjava.lang.byte[]-4 TEXT65535VARCHARjava.lang.String-1       INTEGER4INTEGER UNSIGNEDjava.lang.Long4 TINYINT3TINYINT UNSIGNEDjava.lang.Integer-6 SMALLINT5SMALLINT UNSIGNEDjava.lang.Integer5 MEDIUMINT8MEDIUMINT UNSIGNEDjava.lang.Integer4 BIT1BITjava.lang.Boolean-7 BIGINT20BIGINT UNSIGNEDjava.math.BigInteger-5 FLOAT4+8FLOATjava.lang.Float7 DOUBLE22DOUBLEjava.lang.Double8 DECIMAL11DECIMALjava.math.BigDecimal3 BOOLEAN1同TINYINT         ID11PK (INTEGER UNSIGNED)java.lang.Long4       DATE10DATEjava.sql.Date91 TIME8TIMEjava.sql.Time92 DATETIME19DATETIMEjava.sql.Timestamp93 TIMESTAMP19TIMESTAMPjava.sql.Timestamp93 YEAR4YEARjava.sql.Date91

以上就是Java数据类型和MySql数据类型对应表。

对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。

对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。


mysql官方文档:

Java和mysql的数据类型对应

 [html] view plaincopyprint?

1.    类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述   

2.       

3.    VARCHAR  L+N  VARCHAR  java.lang.String 12   

4.    CHAR CHAR java.lang.String  字符型  

5.    BLOB L+N BLOB java.lang.byte[] -4  二进制型  

6.    TEXT 65535 VARCHAR java.lang.String -1 text文本型  

7.      

8.    INTEGER INTEGER UNSIGNED java.lang.Long  整型  

9.    TINYINT TINYINT UNSIGNED java.lang.Integer -6  微整型   

10.   SMALLINT SMALLINT UNSIGNED java.lang.Integer     

11.   MEDIUMINT MEDIUMINT UNSIGNED java.lang.Integer    

12.   BIT BIT java.lang.Boolean -7   

13.   BIGINT 20 BIGINT UNSIGNED java.math.BigInteger -5    

14.   FLOAT 4+8 FLOAT java.lang.Float   

15.   DOUBLE 22 DOUBLE java.lang.Double    

16.   DECIMAL 11 DECIMAL java.math.BigDecimal   

17.   BOOLEAN TINYINT   

18.     

19.   ID 11 PK (INTEGER UNSIGNED) java.lang.Long   

20.     

21.   DATE 10 DATE java.sql.Date 91   

22.   TIME TIME java.sql.Time 92    

23.   DATETIME 19 DATETIME java.sql.Timestamp 93    

24.   TIMESTAMP 19 TIMESTAMP java.sql.Timestamp 93    

25.   YEAR YEAR java.sql.Date 91  

26.     

27.     

28.      

 

1.常规Hibernate 映射

integer 或者 int

int 或者 java.lang.Integer

INTEGER

4 字节

long

long Long

BIGINT

8 字节

short

short Short

SMALLINT

2 字节

byte

byte Byte

TINYINT

1 字节

float

float Float

FLOAT

4 字节

double

double Double

DOUBLE

8 字节

big_decimal

java.math.BigDecimal

NUMERIC

NUMERIC(8,2)8 

character

char Character String

CHAR(1)

定长字符

string

String

VARCHAR

变长字符串

boolean

boolean Boolean

BIT

布尔类型

yes_no

boolean Boolean

CHAR(1) (Y-N)

布尔类型

true_false

boolean Boolean

CHAR(1) (T-F)

布尔类型

2  Java 时间和日期类型的Hibernate 映射

映射类型

Java 类型

标准 SQL 类型

描述

date

util.Date 或者 sql.Date

DATE

YYYY-MM-DD

time

Date Time

TIME

HH:MM:SS

timestamp

Date Timestamp

TIMESTAMP

YYYYMMDDHHMMSS

calendar

calendar

TIMESTAMP

YYYYMMDDHHMMSS

calendar_date

calendar

DATE

YYYY-MM-DD

3  Java 大对象类型的Hibernate 映射类型

映射类型

Java 类型

标准 SQL 类型

MySQL 类型

Oracle 类型

binary

byte[]

VARBINARY( BLOB)

BLOB

BLOB

text

String

CLOB

TEXT

CLOB

serializable

Serializable 接口任意实现类

VARBINARY( BLOB)

BLOB

BLOB

clob

java.sql.Clob

CLOB

TEXT

CLOB

blob

java.sql.Blob

BLOB

BLOB

BLOB

在程序中通过 Hibernate 来保存java.sql.Clob 或者java.sql.Blob 实例时,必须包含两个步骤:

1.在一个数据库事务中先保存一个空的Blob Clob 实例。

2.接着锁定这条记录,更新上面保存的Blob Clob 实例,把二进制数据或文本数据写到Blob Clob 实例中


BIT(1) (new in MySQL-5.0)BITjava.lang.BooleanBIT( > 1) (new in MySQL-5.0)BITbyte[]TINYINTTINYINTjava.lang.Boolean if the configuration property tinyInt1isBit is set to true (the default) and the storage size is 1, or java.lang.Integerif not.BOOLBOOLEANTINYINTSee 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 laterINT,INTEGER[(M)] [UNSIGNED]INTEGER [UNSIGNED]java.lang.Integer, if UNSIGNED java.lang.LongBIGINT[(M)] [UNSIGNED]BIGINT [UNSIGNED]java.lang.Long, if UNSIGNED java.math.BigIntegerFLOAT[(M,D)]FLOATjava.lang.FloatDOUBLE[(M,B)]DOUBLEjava.lang.DoubleDECIMAL[(M[,D])]DECIMALjava.math.BigDecimalDATEDATEjava.sql.DateDATETIMEDATETIMEjava.sql.TimestampTIMESTAMP[(M)]TIMESTAMPjava.sql.TimestampTIMETIMEjava.sql.TimeYEAR[(2|4)]YEARIf 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)CHARjava.lang.String (unless the character set for the column is BINARY, then byte[] is returned.VARCHAR(M) [BINARY]VARCHARjava.lang.String (unless the character set for the column is BINARY, then byte[] is returned.BINARY(M)BINARYbyte[]VARBINARY(M)VARBINARYbyte[]TINYBLOBTINYBLOBbyte[]TINYTEXTVARCHARjava.lang.StringBLOBBLOBbyte[]TEXTVARCHARjava.lang.StringMEDIUMBLOBMEDIUMBLOBbyte[]MEDIUMTEXTVARCHARjava.lang.StringLONGBLOBLONGBLOBbyte[]LONGTEXTVARCHARjava.lang.StringENUM('value1','value2',...)CHARjava.lang.StringSET('value1','value2',...)CHARjava.lang.String
0 0
原创粉丝点击