首页 运维知识 oracle/mysql java jdbc类型映射讲解

oracle/mysql java jdbc类型映射讲解

MySQL数据类型 JAVA数据类型 JDBC TYPE 普通变量类型 主键类型 BIGINT Long BIGINT 支持 支持 TINYINT Byte TINYINT 支持 …

MySQL数据类型 JAVA数据类型 JDBC TYPE 普通变量类型 主键类型
BIGINT Long BIGINT 支持 支持
TINYINT Byte TINYINT 支持 不支持
SMALLINT Short SMALLINT 支持 不支持
MEDIUMINT Integer INTEGER 支持 支持
INTEGER Integer INTEGER 支持 支持
INT Integer INTEGER 支持 支持
FLOAT Float REAL 支持 不支持
DOUBLE Double DOUBLE 支持 不支持
DECIMAL BigDecimal DECIMAL 支持 不支持
NUMERIC BigDecimal DECIMAL 支持 不支持
CHAR String CHAR 支持 不支持
VARCHAR String VARCHAR 支持 不支持
TINYBLOB DataTypeWithBLOBs.byte[] BINARY 不支持 不支持
TINYTEXT String VARCHAR 支持 不支持
BLOB DataTypeWithBLOBs.byte[] BINARY 不支持 不支持
TEXT DataTypeWithBLOBs.String LONGVARCHAR 不支持 不支持
MEDIUMBLOB DataTypeWithBLOBs.byte[] LONGVARBINARY 不支持 不支持
MEDIUMTEXT DataTypeWithBLOBs.String LONGVARCHAR 不支持 不支持
LONGBLOB DataTypeWithBLOBs.byte[] LONGVARBINARY 不支持 不支持
LONGTEXT DataTypeWithBLOBs.String LONGVARCHAR 不支持 不支持
DATE Date DATE 支持 不支持
TIME Date TIME 支持 不支持
YEAR Date DATE 不支持 不支持
DATETIME Date TIMESTAMP 支持 不支持
TIMESTAMP Date TIMESTAMP 支持 不支持

以下是商业数据库的。

java.sql.Types 值 Java 类型 IBM DB2 Oracle Sybase SQL Informix IBM Content Manager
BIGINT java.lang.long BIGINT NUMBER (38, 0) BIGINT BIGINT INT8 DK_CM_BIGINT
BINARY byte[] CHAR FOR BIT DATA RAW BINARY IMAGE BYTE DK_CM_BLOB
BIT java.lang.Boolean N/A BIT BIT BIT BIT DK_CM_SMALLINT
BLOB byte[] BLOB BLOB BLOB BLOB BLOB DK_CM_BLOB
CHAR java.lang.String CHAR, GRAPHIC CHAR CHAR CHAR CHAR DK_CM_CHAR
CLOB java.lang.String CLOB, DBCLOB CLOB CLOB CLOB CLOB DK_CM_CLOB
DATE java.sql.Date DATE DATE DATE DATE DATE DK_CM_DATE
DECIMAL java.math.BigDecimal DECIMAL NUMBER DECIMAL, MONEY, SMALLMONEY DECIMAL DECIMAL DK_CM_DECIMAL
DOUBLE java.lang.Double DOUBLE DOUBLE PRECISION DOUBLE PRECISION DOUBLE PRECISION DOUBLE PRECISION DK_CM_DOUBLE
FLOAT java.lang.Double FLOAT FLOAT FLOAT FLOAT FLOAT DK_CM_DOUBLE
INTEGER java.lang.Integer INTEGER INTEGER INT INTEGER INTEGER DK_CM_INTEGER
JAVA_OBJECT java.lang.Object JAVA_OBJECT JAVA_OBJECT JAVA_OBJECT JAVA_OBJECT OPAQUE N/A
LONGVARBINARY byte[] LONG VARCHAR FOR BIT DATA LONG RAW IMAGE IMAGE BYTE DK_CM_BLOB
LONGVARCHAR java.lang.String LONG VARCHAR, LONG VARGRAPHIC LONG TEXT TEXT TEXT DK_CM_VARCHAR(3500)
NUMERIC java.math.BigDecimal NUMERIC NUMBER NUMERIC NUMERIC NUMERIC DK_CM_DECIMAL
OTHER java.lang.Object OTHER OTHER OTHER OTHER OTHER N/A
REAL java.lang.Float REAL REAL REAL REAL REAL DK_CM_DOUBLE
SMALLINT java.lang.Integer SMALLINT SMALLINT SMALLINT SMALLINT SMALLINT DK_CM_INTEGER
TIME java.sql.Time TIME DATE TIME TIME DATETIME HOUR TO SECOND DK_CM_TIME
TIMESTAMP java.sql.Timestamp TIMESTAMP DATE DATETIME, SMALLDATETIME DATETIME DATETIME YEAR TO FRACTION (5) DK_CM_TIMESTAMP
TINYINT java.lang.Bute SMALLINT TINYINT

TINYINT TINYINT TINYINT DK_CM_INTEGER
VARBINARY byte[] VARCHAR FOR BIT DATA RAW VARBINARY IMAGE BYTE DK_CM_BLOB
VARCHAR java.lang.String VARCHAR, VARGRAPHIC VARCHAR VARCHAR VARCHAR VARCHAR DK_CM_VARCHAR
  Oracle ResultSetMetaData getPrecision/getScale有一个bug,count(*) as xxx、abs(col) as xxx,这样xxx是无法返回正确的Scale和Precision的,要想这些情况下返回正确的值,需要使用明确的cast(xxx as datatype)。参见https://stackoverflow.com/questions/1410267/oracle-resultsetmetadata-getprecision-getscale
java.sql.Types 值 Java 类型 IBM DB2 Oracle Sybase SQL Informix IBM Content Manager
BIGINT java.lang.long BIGINT NUMBER (38, 0) BIGINT BIGINT INT8 DK_CM_BIGINT
BINARY byte[] CHAR FOR BIT DATA RAW BINARY IMAGE BYTE DK_CM_BLOB
BIT java.lang.Boolean N/A BIT BIT BIT BIT DK_CM_SMALLINT
BLOB byte[] BLOB BLOB BLOB BLOB BLOB DK_CM_BLOB
CHAR java.lang.String CHAR, GRAPHIC CHAR CHAR CHAR CHAR DK_CM_CHAR
CLOB java.lang.String CLOB, DBCLOB CLOB CLOB CLOB CLOB DK_CM_CLOB
DATE java.sql.Date DATE DATE DATE DATE DATE DK_CM_DATE
DECIMAL java.math.BigDecimal DECIMAL NUMBER DECIMAL, MONEY, SMALLMONEY DECIMAL DECIMAL DK_CM_DECIMAL
DOUBLE java.lang.Double DOUBLE DOUBLE PRECISION DOUBLE PRECISION DOUBLE PRECISION DOUBLE PRECISION DK_CM_DOUBLE
FLOAT java.lang.Double FLOAT FLOAT FLOAT FLOAT FLOAT DK_CM_DOUBLE
INTEGER java.lang.Integer INTEGER INTEGER INT INTEGER INTEGER DK_CM_INTEGER
JAVA_OBJECT java.lang.Object JAVA_OBJECT JAVA_OBJECT JAVA_OBJECT JAVA_OBJECT OPAQUE N/A
LONGVARBINARY byte[] LONG VARCHAR FOR BIT DATA LONG RAW IMAGE IMAGE BYTE DK_CM_BLOB
LONGVARCHAR java.lang.String LONG VARCHAR, LONG VARGRAPHIC LONG TEXT TEXT TEXT DK_CM_VARCHAR(3500)
NUMERIC java.math.BigDecimal NUMERIC NUMBER NUMERIC NUMERIC NUMERIC DK_CM_DECIMAL
OTHER java.lang.Object OTHER OTHER OTHER OTHER OTHER N/A
REAL java.lang.Float REAL REAL REAL REAL REAL DK_CM_DOUBLE
SMALLINT java.lang.Integer SMALLINT SMALLINT SMALLINT SMALLINT SMALLINT DK_CM_INTEGER
TIME java.sql.Time TIME DATE TIME TIME DATETIME HOUR TO SECOND DK_CM_TIME
TIMESTAMP java.sql.Timestamp TIMESTAMP DATE DATETIME, SMALLDATETIME DATETIME DATETIME YEAR TO FRACTION (5) DK_CM_TIMESTAMP
TINYINT java.lang.Bute SMALLINT TINYINT TINYINT TINYINT TINYINT DK_CM_INTEGER
VARBINARY byte[] VARCHAR FOR BIT DATA RAW VARBINARY IMAGE BYTE DK_CM_BLOB
VARCHAR java.lang.String VARCHAR, VARGRAPHIC VARCHAR VARCHAR VARCHAR VARCHAR DK_CM_VARCHAR
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

dell R710 更换raid卡后,raid卡信息没有了,处理方案

dell R710 更换raid卡后,raid卡信息没有了,处理方案

1.将一台服务器(A)的硬盘依次拔出,按相同顺序插入另一台同样配置的服务器(B) 2.启动服务器(B) 3.按提示键盘按...
PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

下载 并安装 PL SQL Developer 13,默认支持中文语言 ========================...
关于一条sql语句在mysql中是如何执行的

关于一条sql语句在mysql中是如何执行的

最近开始在学习mysql相关知识,自己根据学到的知识点,根据自己的理解整理分享出来,本篇文章会分析下一个sql语句在my...
关于sql注入姿势总结(mysql)

关于sql注入姿势总结(mysql)

前言 学习了sql注入很长时间,但是仍然没有系统的了解过,这次总结一波,用作学习的资料。 从注入方法分:基于报错、基于布...
关于Oracle SQL外连接

关于Oracle SQL外连接

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。 连接...

发表回复

返回顶部