Mybatis java SQL
integer int OR Integer INTEGER
long long OR java.lang.Long BIGINT
short short OR java.lang.Short SMALLINT
float float OR java.lang.Float FLOAT
double double OR java.lang.Double DOUBLE
big_decimal java.math.BigDecimal NUMERIC
character java.lang.String CHAR(1)
string java.lang.String VARCHAR
byte byte OR java.lang.Byte TINYINT
boolean boolean OR java.lang.Boolean BIT
yes_no boolean OR java.lang.Boolean CHAR(1) ('Y' OR 'N')
true_false boolean OR java.lang.Boolean CHAR(1) ('Y' OR 'N')
date java.util.Date OR java.sql.Date DATE
time java.util.Date OR java.sql.Time TIME
timestamp java.util.Date OR java.sql.TimeStamp TIMESTAMP
calendar java.util.Calendar TIMESTAMP
calendar_date java.util.Calendar DTAE
binary byte[] VARBINARY OR BLOB
text java.lang.String CLOB
serializable java.io.Seriailzable VARBINARY OR BLOB
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB
class java.lang.Class VARCHAR
locale java.util.Locale VARCHAR
timezone java.util.TimeZone VARCHAR
currency java.util.Currency VARCHAR
JDBC Type Java Type
CHAR String
VARCHAR String
LONGVARCHAR String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT boolean
BOOLEAN boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT double
DOUBLE double
BINARY byte[]
VARBINARY byte[]
LONGVARBINARY byte[]
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
CLOB Clob
BLOB Blob
ARRAY Array
DISTINCT mapping of underlying type
STRUCT Struct
REF Ref
DATALINK java.net.URL[color=red][/color]
sql server mssql
编号 数据库类型 JDBC类型 JDBC索引 描述
1 int java.lang.Integer 4
2 varchar java.lang.String 12
3 char java.lang.String 1
4 nchar java.lang.String 1
5 nvarchar java.lang.String 12
6 text java.lang.String -1
7 ntext java.lang.String -1
8 tinyint java.lang.Integer -6
9 int java.lang.Integer 4
10 tinyint java.lang.Integer -6
11 smallint java.lang.Integer 5
12 bit java.lang.Boolean -7
13 bigint java.lang.Long -5
14 float java.lang.Double 6
15 decimal java.math.BigDecimal 3
16 money java.math.BigDecimal 3
17 smallmoney java.math.BigDecimal 3
18 numeric java.math.BigDecimal 2
19 real java.lang.Float 7
20 uniqueidentifier java.lang.String 1
21 smalldatetime java.sql.Timestamp 93
22 datetime java.sql.Timestamp 93
23 timestamp byte[] -2
24 binary byte[] -2
25 varbinary byte[] -3
26 image byte[] -4
27 sql_variant java.lang.String 12
所有数据库
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数据库之间的对应关系。在Java中,Blob类型通常用于存储图片的二进制数据,而Boolean在MySQL中建议使用Int替代,便于Web开发。还涵盖了SQL Server到Oracle的数据类型转换。
21万+

被折叠的 条评论
为什么被折叠?



