需求说明:需要把SQLServer的数据库表同步到MySQL对应的数据库表,所以需要查看各个数据库字段对应的Java类型,方便转换。对于列表对象复制工具类可查看我的上一篇文章:Java集合对象拷贝,使用JDK 8 的函数式接口封装org.springframework.beans.BeanUtils工具类实现_QC班长的博客-CSDN博客
以下是对于的表
1、MySQL
类型名称 | 显示长度 | 数据库类型 | JAVA类型 | JDBC类型索引(int) | 描述 |
VARCHAR | L+N | VARCHAR | java.lang.String | 12 | |
CHAR | N | CHAR | java.lang.String | 1 | |
BLOB | L+N | BLOB | java.lang.byte[] | -4 | |
TEXT | 65535 | VARCHAR | java.lang.String | -1 | |
INTEGER | 4 | INTEGER UNSIGNED | java.lang.Long | 4 | |
TINYINT | 3 | TINYINT UNSIGNED | java.lang.Integer | -6 | |
SMALLINT | 5 | SMALLINT UNSIGNED | java.lang.Integer | 5 | |
MEDIUMINT | 8 | MEDIUMINT UNSIGNED | java.lang.Integer | 4 | |
BIT | 1 | BIT | java.lang.Boolean | -7 | |
BIGINT | 20 | BIGINT UNSIGNED | java.math.BigInteger | -5 | |
FLOAT | 4+8 | FLOAT | java.lang.Float | 7 | |
DOUBLE | 22 | DOUBLE | java.lang.Double | 8 | |
DECIMAL | 11 | DECIMAL | java.math.BigDecimal | 3 | |
BOOLEAN | 1 | 同TINYINT | |||
ID | 11 | PK (INTEGER UNSIGNED) | java.lang.Long | 4 | |
DATE | 10 | DATE | java.sql.Date | 91 | |
TIME | 8 | TIME | java.sql.Time | 92 | |
DATETIME | 19 | DATETIME | java.sql.Timestamp | 93 | |
TIMESTAMP | 19 | TIMESTAMP | java.sql.Timestamp | 93 | |
YEAR | 4 | YEAR | java.sql.Date | 91 |
2、SQLServer
SQL Server 类型 | JDBC 类型 (java.sql.Types) | Java 语言类型 |
---|---|---|
bigint | BIGINT | long |
timestamp binary | BINARY | byte[] |
bit | BIT | boolean |
char | CHAR | String |
decimal money smallmoney | DECIMAL | java.math.BigDecimal |
float | DOUBLE | double |
int | INTEGER | int |
image varbinary(max) | LONGVARBINARY | byte[] |
varchar(max) text | LONGVARCHAR | String |
nchar | CHAR NCHAR (Java SE 6.0) | String |
nvarchar | VARCHAR NVARCHAR (Java SE 6.0) | String |
nvarchar(max) ntext | LONGVARCHAR LONGNVARCHAR (Java SE 6.0) | String |
numeric | NUMERIC | java.math.BigDecimal |
real | REAL | float |
smallint | SMALLINT | short |
datetime smalldatetime | TIMESTAMP | java.sql.Timestamp |
varbinary udt | VARBINARY | byte[] |
varchar | VARCHAR | String |
tinyint | TINYINT | short |
uniqueidentifier | CHAR | String |
xml | LONGVARCHAR SQLXML (Java SE 6.0) | String SQLXML |
time | TIME (1) | java.sql.Time (1) |
date | DATE | java.sql.Date |
datetime2 | TIMESTAMP | java.sql.Timestamp |
datetimeoffset (2) | microsoft.sql.Types.DATETIMEOFFSET | microsoft.sql.DateTimeOffset |
3、Oracle
SQL数据类型 | JDBC类型代码 | 标准的Java类型 | Oracle扩展的Java类型 |
---|---|---|---|
1.0标准的JDBC类型: | |||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.0标准的JDBC类型: | |||
|
|
|
|
|
|
|
|
用户定义的对象 |
|
|
|
用户定义的参考 |
|
|
|
用户定义的集合 |
|
|
|
Oracle扩展: | |||
|
| N/A |
|
|
| N/A |
|
|
|
|
|
|
|
|
|
|
|
|
|
4、PostgreSQL
参考文献:
1、mysql、sqlserver、oracle各数据类型与java类型对应 - 蜂巢巧克力面包 - 博客园
2、Oralce/MySQL/SQLServer/PostgreSQL 数据类型与JAVA类型对照表(整理)_inrgihc的博客-CSDN博客