表4-4 3種數據類型之間的對應關係java
Hibernate映射類型sql |
Java類型數據庫 |
標準SQL類型spa |
integerci |
java.lang.Integer字符串 |
INTEGERstring |
longit |
java.lang.Longio |
BIGINTtable |
short |
java.lang.Short |
SMALLINT |
float |
java.lang.Float |
FLOAT |
double |
java.lang.Double |
DOUBLE |
big_decimal |
java.math.BigDecimal |
NUMERIC |
character |
java.lang.String |
CHAR(1) |
string |
java.lang.String |
VARCHAR |
byte |
byte或java.lang.Byte |
TINYINT |
boolean |
boolean或java.lang.Boolean |
BIT |
(續表)
Hibernate映射類型 |
Java類型 |
標準SQL類型 |
yes_no |
boolean或java.lang.Boolean |
CHAR(1)('Y'或'N') |
true_false |
boolean或java.lang.Boolean |
CHAR(1)('Y'或'N') |
date |
java.util.Date或java.sql.Date |
DATE |
time |
java.util.Date或java.sql.Time |
TIME |
timestamp |
java.util.Date或java.sql.Timestamp |
TIMESTAMP |
calendar |
java.util.Calendar |
TIMESTAMP |
calendar_date |
java.util.Calendar |
DATE |
binary |
byte[] |
VARBINARY或BLOB |
text |
java.lang.String |
CLOB |
serializable |
java.io.Serializable實例 |
VARBINARY或BLOB |
clob |
java.sql.Clob |
CLOB |
blob |
java.sql.Blob |
BLOB |
class |
java.lang.Class |
VARCHAR |
locale |
java.util.Locale |
VARCHAR |
timezone |
java.util.TimeZone |
VARCHAR |
currency |
java.util.Currency |
VARCHAR |
下面咱們用實例演示上述映射數據類型的用法。
假如在MySQL數據庫中有一張關係表datamap,如表4-5所示。
表4-5 datamap數據表
字 段 名 稱 |
數 據 類 型 |
主 鍵 |
自 增 |
允 許 爲 空 |
描 述 |
ID |
int(4) |
是 |
增1 |
ID號 |
|
MYBOOLEAN |
bit(1) |
√ |
邏輯型數據 |
||
MYINT |
int(5) |
√ |
整型數據 |
||
MYLONG |
bigint(11) |
√ |
長整型數據 |
||
MYFLOAT |
float(8,2) |
√ |
單精度浮點型數據 |
||
MYDOUBLE |
double(10,2) |
√ |
雙精度浮點型數據 |
||
MYDECIMAL |
decimal(10,2) |
√ |
DECIMAL型數據 |
||
MYSTRING |
varchar(100) |
√ |
字符串數據 |
||
MYTEXT |
text |
√ |
Text型數據 |
||
MYDATE |
date |
√ |
Date型數據 |
||
MYTIME |
time |
√ |
Time型數據 |
||
MYDATETIME |
datetime |
√ |
Datetime型數據 |
||
MYTIMESTAMP |
timestamp |
√ |
Timestamp型數據 |
||
MYBINARY |
varbinary(10240) |
√ |
Binary型數據 |
||
MYBLOB |
longblob |
√ |
Blob型數據 |