# 数据类型说明
为了屏蔽不同数据库数据类型的差异ScrewDriver提供了SdType类,该类为SdColumn数据类型常量, 它会根据不同的数据库自动转换为java与不同数据库对应的类型,你也可以在ScrewDriver.instance之前通过put方法添加自定义类型或覆盖默认提供的类型,示例:
// 将MyType转换为数据库的VARCHAR与java的String
SdType.put("MyType","VARCHAR", "String");
// 初始化执行工具
ScrewDriver screwDriver = ScrewDriver.instance(options);
该类的方法
方法名称 | 接收参数 | 返回结果 | 说明 |
---|---|---|---|
put | String key, String 数据库类型, String java类型 | void | 添加自定义数据类型,如果key已经存在则覆盖原有的,如果不存在则为新增类型 |
getDictionary | SdTypeMode 数据类型的模式 | Map<String,String> | 获取数据类型词典 |
SQL通用数据类型
数据类型 | java类型 | 所有数据库类型 |
---|---|---|
CHAR | String | CHAR |
VARCHAR | String | VARCHAR |
REAL | Number | REAL |
NUMERIC | Number | NUMERIC |
数据类型对应
数据类型 | java | SQLite | MySQL | PostgreSQL | SQL_Server | DB2 | ORACLE |
---|---|---|---|---|---|---|---|
BYTE | byte | TINYINT | TINYINT | SMALLINT | TINYINT | SMALLINT | BLOB |
BYTE_ARRAY | byte[] | BLOB | BLOB | BYTEA | IMAGE | BLOB | BLOB |
BOOLEAN_BASIC | boolean | BOOLEAN | BOOLEAN | BOOLEAN | BIT | CHAR | CHAR |
BOOLEAN | Boolean | BOOLEAN | BOOLEAN | BOOLEAN | BIT | CHAR | CHAR |
STRING | String | NVARCHAR | VARCHAR | VARCHAR | NVARCHAR | VARCHAR | VARCHAR2 |
SHORT_BASIC | short | SMALLINT | SMALLINT | SMALLINT | SMALLINT | SMALLINT | SMALLINT |
SHORT | Short | SMALLINT | SMALLINT | SMALLINT | SMALLINT | SMALLINT | SMALLINT |
INT_BASIC | int | INTEGER | INT | INTEGER | INT | INTEGER | NUMBER |
INT | Integer | INTEGER | INT | INTEGER | INT | INTEGER | NUMBER |
LONG_BASIC | long | BIGINT | BIGINT | BIGINT | BIGINT | BIGINT | NUMBER |
LONG | Long | BIGINT | BIGINT | BIGINT | BIGINT | BIGINT | NUMBER |
FLOAT_BASIC | float | FLOAT | FLOAT | REAL | FLOAT | REAL | NUMBER |
FLOAT | Float | FLOAT | FLOAT | REAL | FLOAT | REAL | NUMBER |
DOUBLE_BASIC | double | DOUBLE | DOUBLE | DOUBLE PRECISION | FLOAT | DOUBLE | NUMBER |
DOUBLE | Double | DOUBLE | DOUBLE | DOUBLE PRECISION | FLOAT | DOUBLE | NUMBER |
NUMBER | Number | NUMERIC | NUMERIC | NUMERIC | NUMERIC | DECIMAL | NUMBER |
DECIMAL | BigDecimal | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL |
ZONED_DATE_TIME | java.time.ZonedDateTime | TIMESTAMP | TIMESTAMP | TIMESTAMP WITH TIME ZONE | DATETIMEOFFSET | TIMESTAMP | TIMESTAMP |
GREGORIAN_CALENDAR | java.util.GregorianCalendar | TIMESTAMP | TIMESTAMP | TIMESTAMP WITH TIME ZONE | DATETIMEOFFSET | TIMESTAMP | TIMESTAMP |
DATETIME | java.time.LocalDateTime | DATETIME | DATETIME | TIMESTAMP | DATETIME | TIMESTAMP | TIMESTAMP |
DATE | java.time.LocalDate | DATE | DATE | DATE | DATE | DATE | DATE |
TIME | TIME | TIME | TIME | TIME | TIME | TIME | TIME |
TIMESTAMP | java.time.Instant | TIMESTAMP | TIMESTAMP | TIMESTAMP | TIMESTAMP | TIMESTAMP | TIMESTAMP |
DATE_UTIL | java.util.Date | DATETIME | DATETIME | TIMESTAMP | DATETIME | TIMESTAMP | TIMESTAMP |
CALENDAR | java.util.Calendar | DATE | DATE | DATE | DATE | DATE | DATE |
DATE_SQL | java.sql.Date | DATE | DATE | DATE | DATEDATE | DATE | DATE |
TIME_SQL | java.sql.Time | TIME | TIME | TIME | TIME | TIME | TIMESTAMP |
TIMESTAMP_SQL | java.sql.Timestamp | TIMESTAMP | TIMESTAMP | TIMESTAMP | TIMESTAMP | TIMESTAMP | TIMESTAMP |
JDBC与java类型映射
SQL | Java |
---|---|
NULL | null |
JAVA_OBJECT | Object |
BOOL | Boolean |
BOOLEAN | Boolean |
BIT | Boolean |
TINYINT | byte |
SMALLINT | Short |
INT2 | Short |
SMALLSERIAL | Short |
SERIAL2 | Short |
INT | Integer |
INT4 | Integer |
INTEGER | Integer |
SERIAL | Integer |
SERIAL4 | Integer |
BIGINT | Long |
INT8 | Long |
SERIAL8 | Long |
BIGSERIAL | Long |
DECIMAL | Number |
REAL | Number |
FLOAT | Float |
DOUBLE | Double |
NUMERIC | java.math.BigDecimal |
MONEY | java.math.BigDecimal |
CHAR | String |
NCHAR | String |
VARCHAR | String |
NVARCHAR | String |
VARCHAR2 | String |
LONGVARCHAR | String |
CLOB | String |
TEXT | String |
TINYTEXT | String |
MEDIUMTEXT | String |
LONGTEXT | String |
CHARACTER | String |
CHARACTER_VARYING | String |
GRAPHIC | String |
VARGRAPHIC | String |
JSON | String |
JSONB | String |
SQLXML | String |
SET | String |
ENUM | String |
BINARY | byte[] |
VARBINARY | byte[] |
LONGVARBINARY | byte[] |
BLOB | byte[] |
DATETIME | java.time.LocalDateTime |
DATE | java.time.LocalDate |
TIME | java.time.LocalTime |
TIMESTAMP | java.time.Instant |
TIME_WITH_TIMEZONE | java.time.ZonedDateTime |
OTHER | Object |
← 核心类介绍 在IDE中定义快捷键 →