数据库类型与java数据类型的对应关系数据库类型与java数据类型的对应关系
1. 从 JDBC 类型映射到 Java 类型
JDBC 类型Java 类型
CHAR String
VARCHAR String
LONGVARCHAR String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT 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
2.从 Java 类型映射到 JDBC 类型
Java 类型JDBC 类型
String VARCHAR 或 LONGVARCHAR
java.math.BigDecimal NUMERIC
boolean BIT
byte TINYINT
short SMALLINT
int INTEGER
long BIGINT
float REAL
double DOUBLE
byte[]VARBINARY 或 LONGVARBINARY
java.sql.Date DATE
java.sql.Time TIME
java.sql.Timestamp TIMESTAMP
String 类型的映射通常是 VARCHAR,但如果所给的值超出了驱动程序对 VARCHAR 值所限定的极限,则将转换为 LONGVARCHAR 类型。对 byte[]、VARBINARY 及 LONGVARBINARY 值也⼀样。
3. 从 JDBC 类型到 Java Object 类型的映射
由于 Java 内置类型(例如 boolean 和 int)不是 Object 的⼦类型,因此对于 getObject/setObject ⽅法,从 JDBC 类型到 Java object 类型的映射稍有不同。此种映射如下表所⽰:
JDBC 类型Java Object 类型
CHAR String
VARCHAR String
LONGVARCHAR String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT Boolean
TINYINT Integer
SMALLINT Integer
INTEGER Integer
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
4. Java Object 类型映射到 JDBC 类型
Java Object 类型JDBC 类型
String VARCHAR 或 LONGVARCHAR
java.math.BigDecimal NUMERIC
Boolean BIT
Integer INTEGER
Long BIGINT
Float REAL
Double DOUBLE
byte[]VARBINARY 或 LONGVARBINARY
java.sql.Date DATE
java.sql.Time TIME
java.sql.Timestamp TIMESTAMP
注意,String 的映射通常为 VARCHAR,但如果所给的值超出了驱动程序对 VARCHAR 值所限定的极限值,则将转换
为 LONGVARCHAR。对 byte[]、VARBINARY 和 LONGVARBINARY 值也⼀样。
5. 由 setObject 所进⾏的转换setObject
T I N Y I N T S
M
A
L
L
I
N
T
I
N
T
E
G
E
R
B
I
G
I
N
T
R
E
A
L
F
L
O
A
T
D
O
U
B
L
E
D
E
C
I
M
A
L
N
U
M
E
R
I
C
B
I
T
C
H
A
R
V
A
R
C
H
A
R
L
O
N
G
V
A
R
C
H
A
R
B
I
N
A
R
Y
V
A
R
B
I
N
A
R
Y
L
O
N
G
V
A
R
B
I
N
A
R
Y
D
A
T
E
T
I
M
E
T
I
M
E
S
T
A
M
P
String x x x x x x x x x x x x x x x x x x x java.math.BigDecimal x x x x x x x x x x x x x
Boolean x x x x x x x x x x x x x
Integer x x x x x x x x x x x x x
Long x x x x x x x x x x x x x
Float x x x x x x x x x x x x x
Double x x x x x x x x x x x x x
byte[]x x x
java.sql.Date x x x x x java.sql.Time x x x x java.sql.Time- stamp x x x x x x
从 Java object 类型到 JDBC 类型的转换。
6. 由 XXX ⽅法检索的 JDBC 类型
"x" 表⽰该⽅法可以检索 JDBC 类型。"X" 表⽰建议使⽤该⽅法来检索该 JDBC 类型。
T I N Y I N T S
M
A
L
L
I
N
T
I
N
T
E
G
E
R
B
I
bigdecimal转换为integerG
I
N
T
R
E
A
L
F
L
O
A
T
D
O
U
B
L
E
D
E
C
I
M
A
L
N
U
M
E
R
I
C
B
I
T
C
H
A
R
V
A
R
C
H
A
R
L
O
N
G
V
A
R
C
H
A
R
B
I
N
A
R
Y
V
A
R
B
I
N
A
R
Y
L
O
N
G
V
A
R
B
I
N
A
R
Y
D
A
T
E
T
I
M
E
T
I
M
E
S
T
A
M
P
getByte X x x x x x x x x x x x x getShort x X x x x x x x x x x x x getInt x x X x x x x x x x x x x getLong x x x X x x x x x x x x x getFloat x x x x X x x x x x x x x getDouble x x x x x X X x x x x x x
getBigDecimal x x x x x x x X X x x x x
getBoolean x x x x x x x x x X x x x
getString x x x x x x x x x x X X x x x x x x x getBytes X X x
getDate x x x X x getTime x x x X x getTimestamp x x x x X getAsciiStream x x X x x x getUnicodeStream x x X x x x getBinaryStream x x X
getObject x x x x x x x x x x x x x x x x x x x
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论