java.com |
www.oracle.com |
Aquest es el mapping que he utilitzat amb Oracle XE 11g2 i Java 7.
Mapping Oracle - Java
Java | JDBC | Oracle 11.2 | Java to SQL | Oracle DB to Java |
byte (8-bit signed) -128,+127 | TINYINT (8-bit) signed: -128, +127 or unsigned: 0, 255 | NUMBER | updateByte(Column name, value) | getByte("Column name") |
short (16-bit) -32768 , +32767 | SMALLINT | NUMBER | getShort("Column name") | |
int (32-bit signed) -2147483648 to 2147483647 | INTEGER 32-bit signed | NUMBER | getInt("Column name") | |
float (32 bit) | DECIMAL, NUMERIC (*3) | NUMBER | updateFloat(Column name, value) | getBigDecimal("Column name") |
long (64-bit) | BIGINT | NUMBER | getLong("Column name") | |
double (64-bit) | FLOAT DOUBLE | NUMBER | ||
boolean | BIT | getBoolean("Column name") | ||
char (16-bit Unicode) | ||||
String | Varchar2(nn) | getString("Column name") | ||
Timestamp (*1,*2) | Timestamp | getTimestamp("Column name") | ||
Timestamp (*1,*2) | Timestamp | getDate("Column name") |
Java Timestamp <- Java Date (Cast)
*1: Si es treballa amb molta precisió (nanosegons) es millor revisar el link de Oracle per tal de assegurar les conversions.
*2: Amb Java7 hi ha algunes diferències però estic buscant la documentació oficial.
*3: JDBC requires that all DECIMAL and NUMERIC types support both a precision and a scale of at least 15. Example: "12.345" has a precision of 5 and a scale of 3
NUMERIC (12,4) types representes with exactly the specified precision
DECIMAL (12,4) types allows an implementation to add additional precision beyond that specified
Source font:
Oracle: JDBC Developer's Guide (Actualitzat a la versió 11.2)
Java: Primitive datatypes: Aqui trobaràs els formats primitius de Java
http://docs.oracle.com/javase/6/docs/technotes/guides/jdbc/getstart/mapping.html#996857
http://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html
No hay comentarios:
Publicar un comentario