데이터베이스 자료형과 맵핑되는 JAVA의 자료형
출처 : IBM Knowledge Center
데이터베이스 자료형과 자바JAVA(JDBC) 매칭 매치 맵핑 자료형 맞추기
테이블 컬럼 갱신을 위한 자료형
|
Java 자료형 |
데이터베이스 자료형 |
|---|---|
| short, java.lang.Short | SMALLINT |
| short, java.lang.Short | BOOLEAN |
| boolean, java.lang.Boolean | BOOLEAN |
| int, java.lang.Integer | INTEGER |
| int, java.lang.Integer | SERIAL |
| long, java.lang.Long | INT8 |
| long, java.lang.Long | BIGINT |
| long, java.lang.Long | SERIAL8 |
| long, java.lang.Long | BIGSERIAL |
| float, java.lang.Float | SMALLFLOAT |
| double, java.lang.Double | FLOAT |
| java.math.BigDecimal | DECIMAL(p,s)1 |
| java.math.BigDecimal | DECIMAL(p)2 |
| java.math.BigDecimal | DECIMAL3 |
| java.math.BigDecimal | MONEY(p,s)1 |
| java.lang.String | CHAR(n)4 |
| java.lang.String | NCHAR(n)4 |
| java.lang.String | VARCHAR(m,r)5 |
| java.lang.String | LVARCHAR(m,r)6 |
| java.lang.String | NVARCHAR(m,r)6 |
| java.lang.String | INTERVAL |
| java.lang.String | CLOB7 |
| byte[] | BYTE |
| byte[] | BLOB7 |
| java.sql.Blob | BLOB |
| java.sql.Clob | CLOB |
| java.lang.Clob | TEXT |
| java.sql.Date | DATE |
| java.sql.Time | DATETIME HOUR TO SECOND |
| java.sql.Timestamp | DATETIME YEAR TO FRACTION(5) |
| java.io.ByteArrayInputStream | BLOB |
| java.io.StringReader | CLOB |
| java.io.ByteArrayInputStream | CLOB |
참고
- p는 10진 정밀도이고 s는 테이블 컬럼의 스케일입니다.
- ANSI 표준 데이터베이스의 경우 p는 정밀도이고 스케일은 0입니다. ANSI 표준이 아닌 데이터베이스에서 p만을 지정하는 경우 자료형은 10진 부동 소수점입니다.
- ANSI 표준 데이터베이스에서 매개변수를 지정하지 않는 경우 정밀도는 16이고 스케일은 0입니다. ANSI 표준이 아닌 데이터베이스에서 매개변수를 지정하지 않는 경우 자료형은 10진 부동 소수점입니다.
- n<=32767.
- 0<=r<=m<=255.
- 0<=r<=m<=32739.
- 이 맵핑은 데이터베이스 서버가 컬럼의 자료형을 판별할 수 있는 경우에만 유효합니다.
테이블 컬럼에서 검색할 자료형
|
SQL 자료형 |
권장되는 Java 자료형 또는 Java 오브젝트 유형 |
기타 지원되는 Java 자료형 |
|---|---|---|
| SMALLINT | short | byte, int, long, float, double, java.math.BigDecimal, boolean, java.lang.String |
| BOOLEAN | boolean | short |
| INTEGER | int | short, byte, long, float, double, java.math.BigDecimal, boolean, java.lang.String |
| SERIAL | int | short, byte, long, float, double, java.math.BigDecimal, boolean, java.lang.String |
| INT8 | long | int, short, byte, float, double, java.math.BigDecimal, boolean, java.lang.String |
| BIGINT | long | int, short, byte, float, double, java.math.BigDecimal, boolean, java.lang.String |
| SERIAL8 | long | int, short, byte, float, double, java.math.BigDecimal, boolean, java.lang.String |
| BIGSERIAL | long | int, short, byte, float, double, java.math.BigDecimal, boolean, java.lang.String |
| DECIMAL(p,s) | java.math.BigDecimal | long, int, short, byte, float, double, boolean, java.lang.String |
| DECIMAL(p) | java.math.BigDecimal | long, int, short, byte, float, double, java.math.BigDecimal, boolean, java.lang.String |
| MONEY(p,s) | java.math.BigDecimal | long, int, short, byte, float, double, boolean, java.lang.String |
| SMALLFLOAT | float | long, int, short, byte, double, java.math.BigDecimal, boolean, java.lang.String |
| FLOAT | double | long, int, short, byte, float, java.math.BigDecimal, boolean, java.lang.String |
| CHAR(n) | java.lang.String | long, int, short, byte, float, double, java.math.BigDecimal, boolean, java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.InputStream, java.io.Reader |
| NCHAR(n) | java.lang.String | long, int, short, byte, float, double, java.math.BigDecimal, boolean, java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.InputStream, java.io.Reader |
| VARCHAR(m,r) | java.lang.String | long, int, short, byte, float, double, java.math.BigDecimal, boolean, java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.InputStream, java.io.Reader |
| LVARCHAR(m,r) | java.lang.String | long, int, short, byte, float, double, java.math.BigDecimal, boolean, java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.InputStream, java.io.Reader |
| NVARCHAR(n) | java.lang.String | long, int, short, byte, float, double, java.math.BigDecimal, boolean, java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.InputStream, java.io.Reader |
| INTERVAL | java.lang.String | long, int, short, byte, float, double, java.math.BigDecimal, boolean, java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.InputStream, java.io.Reader |
| BYTE | byte[] | 없음 |
| CLOB(n) | java.sql.Clob | java.lang.String |
| TEXT | java.sql.Clob | java.lang.String |
| BLOB(n) | java.sql.Blob | byte[]1 |
| DATE | java.sql.Date | java.sql.String, java.sql.Timestamp |
| DATETIME HOUR TO SECOND | java.sql.Time | java.sql.String, java.sql.Timestamp |
| DATETIME YEAR TO FRACTION(5) | java.sql.Timestamp | java.sql.String, java.sql.Date, java.sql.Time, java.sql.Timestamp |
|
참고
| ||
스토어드 프로시저 및 사용자 정의 함수 호출을 위한 자료형
|
Java 자료형 |
JDBC 자료형 |
SQL 자료형 |
|---|---|---|
| boolean, java.lang.Boolean | BIT | BOOLEAN |
| boolean, java.lang.Boolean | BOOLEAN | BOOLEAN |
| byte1, java.lang.Byte | TINYINT | SMALLINT |
| short, java.lang.Short | SMALLINT | SMALLINT |
| int, java.lang.Integer | INTEGER | INTEGER |
| int, java.lang.Integer | INTEGER | SERIAL |
| long, java.lang.Long | BIGINT | INT8 |
| long, java.lang.Long | BIGINT | BIGINT |
| long, java.lang.Long | BIGINT | SERIAL8 |
| long, java.lang.Long | BIGINT | BIGSERIAL |
| float, java.lang.Float | REAL | SMALLFLOAT |
| float, java.lang.Float | FLOAT | SMALLFLOAT |
| double, java.lang.Double | DOUBLE | FLOAT |
| java.math.BigDecimal | NUMERIC | DECIMAL |
| java.math.BigDecimal | DECIMAL | DECIMAL |
| java.math.BigDecimal | NUMERIC | MONEY |
| java.lang.String | CHAR | CHAR |
| java.lang.String | CHAR | INTERVAL |
| java.lang.String | CHAR | NCHAR |
| java.lang.String | VARCHAR | VARCHAR |
| java.lang.String | VARCHAR | NVARCHAR |
| java.lang.String | LONGVARCHAR | VARCHAR |
| java.lang.String | LONGVARCHAR | LVARCHAR |
| java.lang.String | VARCHAR | CLOB |
| java.lang.String | LONGVARCHAR | CLOB |
| java.lang.String | CLOB | CLOB |
| java.lang.String | CLOB | TEXT |
| byte[] | BINARY | BYTE |
| byte[] | VARBINARY | BYTE |
| byte[] | VARBINARY | BYTE |
| byte[] | LONGVARBINARY | BYTE |
| byte[] | LONGVARBINARY | BLOB2 |
| java.sql.Date | DATE | DATE |
| java.sql.Time | TIME | DATETIME HOUR TO SECOND |
| java.sql.Timestamp | TIMESTAMP | DATETIME YEAR TO FRACTION(5) |
| java.sql.Blob | BLOB | BLOB |
| java.sql.Clob | CLOB | CLOB |
| java.io.ByteArrayInputStream | 없음 | BLOB |
| java.io.StringReader | 없음 | CLOB |
| java.io.ByteArrayInputStream | 없음 | CLOB |
|
참고
| ||
반응형
'Dev > JAVA' 카테고리의 다른 글
| [퍼옴/메모] 이클립스 자동완성 (0) | 2018.06.19 |
|---|---|
| JAVA 메소드 오버로딩(Overloading) (0) | 2018.01.28 |
| JAVA private 를 사용하자. 정보은닉과 캡슐화. (1) | 2018.01.20 |
| JAVA super() 개념 정리하기 (0) | 2018.01.20 |
| JAVA 생성자(Constructor) 개념 정리하기! (0) | 2018.01.20 |
| 함수, 변수, 속성, 메서드(메소드) 쉽게 구분하는 예시 (0) | 2017.10.26 |
| 자바스크립트 주석 처리방법 2가지 (2) | 2017.10.26 |
| JAVA는 객체지향 프로그래밍 언어 (0) | 2017.06.08 |