1:Java数据类型与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 |
*对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。
对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。
2: sqlserver数据库对应java中的数据类型
| 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:sqlserver和Oracle数据类型对应关系
SqlServer 2k转换为Oracle 10g
| 列名 | SqlServer数据类型 | SqlServer长度 | Oracle数据类型 |
| column1 | bigint | 8 | NUMBER(19) |
| column2 | binary | 50 | RAW(50) |
| column3 | bit | 1 | NUMBER(2) |
| column4 | char | 10 | CHAR(10) |
| column5 | datetime | 8 | DATE |
| column6 | decimal | 9 | NUMBER(18) |
| column7 | float | 8 | BINARY_DOUBLE |
| column8 | image | 16 | BLOB |
| column9 | int | 4 | NUMBER(10) |
| column10 | money | 8 | NUMBER(19,4) |
| column11 | nchar | 10 | NCHAR(10) |
| column12 | ntext | 16 | NCLOB |
| column13 | numeric | 9 | NUMBER(18) |
| column14 | nvarchar | 50 | NVARCHAR2(50) |
| column15 | real | 4 | BINARY_FLOAT |
| column16 | smalldatetime | 4 | DATE |
| column17 | smallint | 2 | NUMBER(5) |
| column18 | smallmoney | 4 | NUMBER(10,4) |
| column19 | sql_variant | BLOB | |
| column20 | text | 16 | CLOB |
| column21 | timestamp | 8 | RAW(8) |
| column22 | tinyint | 1 | NUMBER(3) |
| column23 | uniqueidentifier | 16 | BLOB |
| column24 | varbinary | 50 | RAW(50) |
| column25 | varchar | 50 | VARCHAR2(50) |
Oracle 10g 转换为SqlServer 2k
| Oracle列名 | Oracle数据类型 | SqlServer列名 | SqlServer数据类型 | SqlServer数据长度 |
| COLUMN1 | BINARY_DOUBLE | COLUMN1 | float | 8 |
| COLUMN2 | BINARY_FLOAT | COLUMN2 | real | 4 |
| COLUMN3 | BLOB | COLUMN3 | image | 16 |
| COLUMN4 | CLOB | COLUMN4 | ntext | 16 |
| COLUMN5 | CHAR(10) | COLUMN5 | nchar | 10 |
| COLUMN6 | DATE | COLUMN6 | datetime | 8 |
| COLUMN12 | NUMBER | COLUMN12 | numeric | 13 |
| COLUMN13 | NVARCHAR2(10) | COLUMN13 | nvarchar | 10 |
| COLUMN14 | RAW(10) | COLUMN14 | varbinary | 10 |
| COLUMN15 | TIMESP(6) | COLUMN15 | datetime | 8 |
| COLUMN16 | TIMESP(6) WITH LOCAL TIME ZONE | COLUMN16 | datetime | 8 |
| COLUMN17 | TIMESP(6) WITH TIME ZONE | COLUMN17 | datetime | 8 |
| COLUMN18 | VARCHAR2(10) | COLUMN18 | nvarchar | 10 |
| COLUMN7 | INTERVAL DAY(2) TO SECOND(6) | COLUMN7 | nvarchar | 30 |
| COLUMN8 | INTERVAL YEAR(2) TO MONTH | COLUMN8 | nvarchar | 14 |
| COLUMN9 | LONG | COLUMN9 | ntext | 16 |
| COLUMN10 | LONG RAW | COLUMN10 | image | 16 |
| COLUMN11 | NCLOB | COLUMN11 | ntext | 16 |
上述都是摘抄多个博客整理。
java实体属性对应mysql和SQL Server 和Oracle 数据类型对应
原文:http://www.cnblogs.com/kaiwen/p/6556787.html