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