A、常規 映射
| 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) |
布爾類型 |
B 、 Java 時間和日期類型
| 映射類型 |
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 |
C、 Java 大對象類型
| 映射類型 |
Java 類型 |
標准 SQL 類型 |
MySQL 類型 |
| binary |
byte[] |
VARBINARY( 或 BLOB) |
BLOB |
| text |
String |
CLOB |
TEXT |
| serializable |
Serializable 接口任意實現類 |
VARBINARY( 或 BLOB) |
BLOB |
| clob |
java.sql.Clob |
CLOB |
TEXT |
| blob |
java.sql.Blob |
BLOB |
BLOB |
對於bolb,一般用於對圖片的數據庫存儲,原理是把圖片打成二進制,然后進行的一種存儲方式,在java中對應byte[]數組。
對於boolen類型,在mysql數據庫中,認為用int類型代替較好,對bit操作不是很方便,具有web頁面開發的項目中,表示0/1,對應java類型的Integer較好。
1、M是數字的最大數(精度)。其范圍為1~65(在較舊的MySQL版本中,允許的范圍是1~254)。
2、D是小數點右側數字的數目(標度)。其范圍是0~30,但不得超過M。
說明:float占4個字節,double占8個字節,decimail(M,D)占M+2個字節。
如DECIMAL(5, 2) 的最大值為9 9 9 9 . 9 9,因為有7 個字節可用。
