对于金钱相关的准确性要求的,不要取用float、double那些类型,使用decimal和number。
Mysql类型 | Oracle类型 | Java类型 |
VARCHAR | VARCHAR2 | java.lang.String |
CHAR | CHAR | java.lang.String |
TINYINT | NUMBER(3,0) | java.lang.Integer |
SMALLINT | NUMBER(5,0) | java.lang.Integer |
MEDIUMINT | NUMBER(7,0) | java.lang.Integer |
INT 最大值 2^31 - 1 | NUMBER(9,0) | java.lang.Integer |
BIGINT 最大值 2^63 - 1 | NUMBER(18,0) | java.java.Long |
DECIMAL(N,M) | NUMBER(N,M) | java.math.BigDecimal |
DATE | DATE | java.sql.Date |
DATETIME | DATE | java.sql.Timestamp |
BLOB | BLOB | byte[] |
TEXT | CLOB | java.lang.String |
FLOAT | BINARY_FLOAT | java.lang.Float |
DOUBLE | BINARY_DOUBLE | java.lang.Double |
BOOL/BOOLEAN | TINYINT(1) | |
BIT(1) | java.lang.Boolean | |
BIT(M>1) | byte[] |