부록 A. 데이터 타입 맵핑#
이 부록은 Altibase의 데이터 타입과 JDBC 표준 데이터 타입, Java 데이터 타입간에 호환 여부를 기술한다.
데이터 타입 맵핑#
아래의 표는 JDBC 데이터 타입, Altibase JDBC의 데이터 타입, 및 Java 언어의 타입 간에 기본적으로 맵핑되는 관계를 보여준다.
JDBC 타입 | Altibase 타입 | Java 타입 |
---|---|---|
CHAR | CHAR | String |
VARCHAR | VARCHAR | String |
LONGVARCHAR | VARCHAR | String |
NUMERIC | NUMERIC | BigDecimal |
DECIMAL | NUMERIC | BigDecimal |
BIT | VARBIT | BitSet |
BOOLEAN | - | - |
TINYINT | SMALLINT | Short |
SMALLINT | SMALLINT | Short |
INTEGER | INTEGER | Integer |
BIGINT | BIGINT | Long |
REAL | REAL | Float |
FLOAT | FLOAT | BigDecimal |
DOUBLE | DOUBLE | Double |
BINARY | BYTE | byte[] |
VARBINARY | BLOB | Blob |
LONGVARBINARY | BLOB | Blob |
DATE | DATE | Timestamp |
TIME | DATE | Timestamp |
TIMESTAMP | DATE | Timestamp |
CLOB | CLOB | Clob |
BLOB | BLOB | Blob |
ARRAY | - | - |
DISTINCT | - | - |
STRUCT | - | - |
REF | - | - |
DATALINK | - | - |
JAVA_OBJECT | - | - |
NULL | - | null |
- | GEOMETRY | byte[] |
Java 데이터형을 데이터베이스 데이터형으로 변환하기#
아래의 표는 setObject 메소드를 사용해서 파라미터에 객체를 설정할 경우, 각 객체별로 어떠한 데이터베이스 데이터입으로 변환이 가능한지를 보여준다.
SMALLINT | INTEGER | BIGINT | REAL | FLOAT | DOUBLE | DECIMAL/NUMERIC | BIT | CHAR | VARCHAR/LONGVARCHAR | BINARY | VARBINARY/LONGVARBINARY | DATE | TIME | TIMESTAMP | BLOB | CLOB | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Array | |||||||||||||||||
Blob | ○ | ||||||||||||||||
Boolean | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||||||
byte[] | ○ | ○ | ○ | ○ | ○ | ||||||||||||
char[] | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
Clob | ○ | ||||||||||||||||
Double | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||||||
Float | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||||||
Integer | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||||||
Java class | |||||||||||||||||
BigDecimal | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||||||
java.net.URL | |||||||||||||||||
java.sql.Date | ○ | ○ | ○ | ○ | ○ | ||||||||||||
java.sql.Time | ○ | ○ | ○ | ○ | ○ | ||||||||||||
java.sql.Timestamp | ○ | ○ | ○ | ○ | ○ | ||||||||||||
java.util.BitSet | ○ | ||||||||||||||||
Long | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||||||
Ref | |||||||||||||||||
Short | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||||
String | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||
Struct | |||||||||||||||||
InputStream | ○ | ||||||||||||||||
Reader | ○ |
데이터베이스 데이터형을 Java 데이터형으로 변환하기#
아래의 표는 데이터베이스의 각 데이터형에 대해 getXXX 메소드를 사용해서 변환이 가능한지를 보여준다.
SMALLINT | INTEGER | BIGINT | REAL | FLOAT | DOUBLE | DECIMAL/NUMERIC | BIT | CHAR/VARCHAR | LONGVARCHAR | BINARY | VARBINARY/LONGVARBINARY | DATE | TIME | TIMESTAMP | CLOB | BLOB | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
getArray | |||||||||||||||||
getAsciiStream | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
getBigDecimal | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||||
getBinaryStream | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getBlob | ○ | ○ | |||||||||||||||
getBoolean | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getByte | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getBytes | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||||
getCharacterStream | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
getClob | ○ | ||||||||||||||||
getDate | ○ | ○ | ○ | ○ | ○ | ||||||||||||
getDouble | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getFloat | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getInt | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getLong | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getObject | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
getRef | |||||||||||||||||
getShort | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||||
getString | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
getTime | ○ | ○ | ○ | ○ | ○ | ||||||||||||
getTimestamp | ○ | ○ | ○ | ○ | ○ |