Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

JDBC에서 지원하는 데이터 유형 완벽 정리: SQL ↔ Java 타입 매핑 가이드

JDBC에서 지원하는 데이터 유형이란?

JDBC(Java Database Connectivity)는 거의 모든 SQL 데이터 유형을 지원합니다. JDBC 드라이버가 Java 애플리케이션으로부터 호출을 받으면, 전달된 Java 데이터 유형을 기본 매핑(Default Mapping) 규칙에 따라 대응되는 SQL 데이터 유형으로 자동 변환합니다.

예를 들어, Java 애플리케이션에서 int 타입의 값을 데이터베이스에 전달하면 JDBC 드라이버는 이를 SQL의 INTEGER 타입으로 변환하여 처리합니다. 이러한 변환 과정은 개발자가 별도로 처리할 필요 없이 드라이버 내부에서 자동으로 수행됩니다.

SQL 데이터 유형과 JDBC/Java 데이터 유형 매핑표

아래 표는 JDBC가 지원하는 주요 데이터 유형과 각각에 대응되는 SQL 및 Java 데이터 유형을 정리한 것입니다.

SQL 데이터 유형JDBC/Java 데이터 유형
VARCHARjava.lang.String
CHARjava.lang.String
LONGVARCHARjava.lang.String
BITboolean
NUMERICjava.math.BigDecimal
TINYINTbyte
SMALLINTshort
INTEGERint
BIGINTlong
REALfloat
FLOATfloat
DOUBLEdouble
VARBINARYbyte[ ]
BINARYbyte[ ]
DATEjava.sql.Date
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
CLOBjava.sql.Clob
BLOBjava.sql.Blob
ARRAYjava.sql.Array
REFjava.sql.Ref
STRUCTjava.sql.Struct

매핑 시 참고 사항

문자열 관련 타입인 VARCHAR, CHAR, LONGVARCHAR는 모두 java.lang.String으로 매핑됩니다. 정수 계열은 크기에 따라 byte, short, int, long으로 구분되며, 실수 계열은 floatdouble로 매핑됩니다.

또한 날짜와 시간 데이터는 각각 java.sql.Date, java.sql.Time, java.sql.Timestamp로 변환되며, 대용량 텍스트나 바이너리 데이터는 CLOB/BLOB 타입을 통해 효율적으로 처리할 수 있습니다. 이러한 기본 매핑 규칙을 잘 이해하고 있으면 데이터베이스 연동 시 타입 불일치로 인한 오류를 예방할 수 있습니다.