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 个字节可用。
