Dev/JAVA

데이터베이스 자료형과 맵핑되는 JAVA의 자료형

Fehoon- 2018. 1. 30. 15:32

데이터베이스 자료형과 맵핑되는 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

참고

  1. p는 10진 정밀도이고 s는 테이블 컬럼의 스케일입니다.
  2. ANSI 표준 데이터베이스의 경우 p는 정밀도이고 스케일은 0입니다. ANSI 표준이 아닌 데이터베이스에서 p만을 지정하는 경우 자료형은 10진 부동 소수점입니다.
  3. ANSI 표준 데이터베이스에서 매개변수를 지정하지 않는 경우 정밀도는 16이고 스케일은 0입니다. ANSI 표준이 아닌 데이터베이스에서 매개변수를 지정하지 않는 경우 자료형은 10진 부동 소수점입니다.
  4. n<=32767.
  5. 0<=r<=m<=255.
  6. 0<=r<=m<=32739.
  7. 이 맵핑은 데이터베이스 서버가 컬럼의 자료형을 판별할 수 있는 경우에만 유효합니다.

       

    테이블 컬럼에서 검색할 자료형

    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 
    참고
    1. 이 맵핑은 데이터베이스 서버가 컬럼의 자료형을 판별할 수 있는 경우에만 유효합니다.

     

     

    스토어드 프로시저 및 사용자 정의 함수 호출을 위한 자료형

    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
    참고
    1. SMALLINT 매개변수로 정의된 스토어드 프로시저 또는 사용자 정의를 부울 또는 바이트 매개변수로 호출할 수 있습니다. 그러나 이를 권장하지 않습니다.
    2. 이 맵핑은 데이터베이스 서버가 컬럼의 자료형을 판별할 수 있는 경우에만 유효합니다.

    반응형