java实体属性对应mysql和SQL Server 和Oracle 数据类型对应
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 |
上述都是摘抄多个博客整理。