Mysql,Oracle,Java数据类型对应
Mysql Oracle Java BIGINT NUMBER(19,0) java.lang.Long BIT RAW byte[] BLOB BLOB RAW byte[] CHAR CHAR java.lang.String DATE DATE java.sql.Date DATETIME DATE java.sql.Timestamp DECIMAL FLOAT (24) java.math.BigDecimal DOUBLE FLOAT (24) java.lang.Double DOUBLE PRECISION FLOAT (24) java.lang.Double ENUM VARCHAR2 java.lang.String FLOAT FLOAT java.lang.Float INT NUMBER(10,0) java.lang.Integer INTEGER NUMBER(10,0) java.lang.Integer LONGBLOB BLOB RAW byte[] LONGTEXT CLOB RAW java.lang.String MEDIUMBLOB BLOB RAW byte[] MEDIUMINT NUMBER(7,0) java.lang.Integer MEDIUMTEXT CLOB RAW java.lang.String NUMERIC NUMBER REAL FLOAT (24) SET VARCHAR2 java.lang.String SMALLINT NUMBER(5,0) java.lang.Integer TEXT VARCHAR2 CLOB java.lang.String TIME DATE java.sql.Time TIMESTAMP DATE java.sql.Timestamp TINYBLOB RAW byte[] TINYINT NUMBER(3,0) java.lang.Boolean TINYTEXT VARCHAR2 java.lang.String VARCHAR VARCHAR2 CLOB java.lang.String YEAR NUMBER java.sql.Date
Java:
Integer是4个字节,为2^32 ,可以对应oracle中的number(9,0)获得number(10,0)
Short 是2个字节,为65536,可以对应oracle中的number(5,0)
Long 是8个字节,为2^64 ,可以对应oracle中的number(20,0)或者number(19,0)
Oracle:
oracle 中Number 分为两种 1.Number 2.Number(10,2)
第一种对应的是java中的 整形 int long short byte
第二种对应的是java中的 浮点型 float double
oracle中的的date 对应java中的 java.util.date java.sql.date 是都可以的但通常应用java.util.date 因为它的作用范畴大于java。sql。date
number要根据oracle数据库定义类型的细节来决定
如果是number(13,0)类似这种小数点后为0可以应用Long
如果是number(13,4)类似这种小数点后指定位数可以应用Double
date如果最小到日 可以应用Date 否则应用Timestamp
Mysql:
对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。
对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。
参考:
Mysql,Oracle,Java数据类型对应 - 村长Kylin的个人空间 - 开源中国社区
http://my.oschina.net/u/1398304/blog/270318
Mysql,Oracle,Java数据类型对应
http://safelong.cc/2014/09/05/database-type/