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 |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access