Data Mapping
The datatypes used by an Oracle database are not exactly the same as the datatypes in Java. Table 11-1 summarizes the mapping from Java database datatypes to Oracle datatypes.
Some of the java.lang datatypes are wrapper classes for the Java primitive datatypes that can accept a NULL reference, because normal Java datatypes cannot. To retrieve a value from a wrapper class, use the appropriate method typeValue( ) for each wrapper class.
Table 11-1. Datatype mapping between Java and Oracle
Java datatype |
Oracle datatype |
---|---|
java.sql.Array |
ARRAY |
java.sqlBlob |
BLOB |
Boolean java.lang.Boolean |
NUMBER |
byte java.lang.byte |
NUMBER |
byte[] |
RAW LONGRAW |
java.slq.Clob |
CLOB |
java.sql.date |
DATE |
double java.lang.double |
NUMBER |
float java.lang.float |
NUMBER |
int java.lang.Integer |
NUMBER |
long java.lang.Long |
NUMBER |
java.sql.Ref |
REF |
short java.lang.Short |
NUMBER |
java.lang.string |
VARCHAR2 LONG RAW |
java.sql.Struct |
STRUCT |
java.sql.time |
DATE |
java.sql.timestamp |
DATE |
java.math.BigDecimal(recommended) |
NUMBER |
There are also sets of Oracle extensions for the following Oracle datatypes. The oracle.sql.NUMBER extension allows you to store and retrieve Oracle NUMBER data without losing any precision.
oracle.sql.ARRAY |
oracle.sql.NUMBER |
oracle.sql.BFILE |
oracle.sql.RAW |
oracle.sql.BLOB |
oracle.sql.REF |
oracle.sql.CHAR |
oracle.sql.ROWID |
oracle.sql.CLOB |
oracle.sql.STRUCT |
oracle.sql.DATE |
Get Oracle in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.