#JDBC与Java数据类型映射关系

本文将介绍在setObejct()方法中JDBC数据类型和Java数据类型的映射关系。

(1)

JDBC类型
\Java类型
boolean String byte,short
,int,long
float,
double
Big
Decimal
BIT √ 注3 √ √注3 × √
BOOLEAN √ √注1 √ 注2 × ×
CHAR,VARCHAR,NCHAR,NVARCHAR √ √ √ √ √
DATE × √ × × ×
TIMESTAMP × √ × × ×
TIME × √ × × ×
TINYINT, SMALLINT,
INTEGER,BIGINT
√ √ √ √ √
REAL (Note 4)
(Server: FLOAT )
√ √ √ √ √
FLOAT,
DOUBLE (Note 4)
(Server: DOUBLE)
√ √ √ √ √
DECIMAL,
NUMERIC(Note 4)
(Server: NUMBER)
√ √ √ √ √

(2)

JDBC类型
\Java类型
Time Date Timestamp byte[] Local
Time
Local
DateTime
Local
Date
BIT × × × √ × × ×
BOOLEAN × × × × × × ×
CHAR,VARCHAR,NCHAR,NVARCHAR √ √ √ × × × ×
DATE √ √ √ × × × √
TIMESTAMP √ √ √ × × √ ×
TIME √ √ √ × √ × ×
TINYINT, SMALLINT,
INTEGER,BIGINT
× × × × × × ×
REAL (Note 4)
(Server: FLOAT )
× × × × × × ×
FLOAT,
DOUBLE (Note 4)
(Server: DOUBLE)
× × × × × × ×
DECIMAL,
NUMERIC(Note 4)
(Server: NUMBER)
× × × × × × ×

注1:

BOOLEAN字符串形式支持:

  • 'TRUE'/'FALSE'
  • 'ON'/'OFF'
  • 'YES'/'NO'
  • 'T'/'F'
  • 转数值的字符'1'/'0'

注2:

BOOLEAN整型数值形式支持非0转换为TRUE,0转换为FALSE。

注3:

BIT类型可以转换为整型,但有溢出判定;其与BOOLEAN转换时,1转换为TRUE,全0转换为FALSE,其他数值报溢出。

注4:(仅用于setObject)

表示数据库定义类型与JDBC定义类型映射名称不一样。

pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流