MySQL 데이터 타입과 Java 데이터 타입 비교/매칭
안녕하세요? 혼살입니다. 블로그에 정말 오랜만에 글을 씁니다. 일하고 겜하고 일하고 겜하고 집에 박혀서 매일 똑같은 일상을 보내다 보니 블로그에 글을 오랫동안 안 쓰고 있었네요. 대부분 근황은 유튜브 동영상으로 대체하다 보니 더욱 더 그랬던 것 같습니다.
하지만 이번엔 영상보다 글로 남기는 게 더 유익할 것 같아 간만에 글을 쓰게 되었습니다. 바로 MySQL Data Types & Java Data Types 매칭! 현재 진행중인 외주 작업 중 SET 타입을 Java에선 어떻게 처리하나 찾아보다가 잘 정리된 블로그 글을 발견해 나중에 손쉽게 찾기 위해 제 블로그에도 씁니다. 위 링크에 들어가시면 테이블로 잘 정리돼 있으니 한 번 들어가 보시는것도 괜찮겠네요.
왼쪽은 MySQL, 오른쪽은 Java의 데이터 타입입니다.
BIT <-> Boolean->
TINYINT <-> Integer->
BOOL/BOOLEAN (TINYINT(1)) <-> Integer->
SMALLINT <-> Unsigned 상관없이 Integer->
MEDIUMINT <-> Integer, Unsinged라면 Long->
INT <-> Integer, Unsigned라면 Long->
BIGINT <-> Long, Unsigned라면 java.math.BigInteger->
FLOAT <-> Float->
DOUBLE <-> Double->
DECIMAL <-> java.math.BigDecimal->
DATE <-> java.sql.Date->
DATETIME <-> java.sql.Timestamp->
TIMESTAMP <-> java.sql.Timestamp->
TIME <-> java.sql.Timestamp->
YEAR <-> yearsIsDateType이 설정됐다면 java.sql.Date, 아니라면 Short->
CHAR <-> 컬럼이 Binary로 설정되지 않았다면 String, 돼 있다면 byte[]->
VARCHAR <-> CHAR와 동일->
BINARY <-> byte[]->
VARBINARY <-> byte[]->
TINYBLOB <-> byte[]->
TINYTEXT <-> String->
BLOB <-> byte[]->
TEXT <-> String->
MEDIUMBLOB <-> byte[]->
MEDIUMTEXT <-> String->
LONGBLOB <-> byte[]->
LONGTEXT <-> String->
ENUM <-> String->
SET <-> String->
사용해보니 ENUM, SET은 지정된 값이 스트링으로 반환되었습니다. 예를 들어 MySQL 컬럼이 SET('남','여')로 지정되었고, 레코드 값이 '남'이라면 자바에서 String "남"을 반환합니다.
참고가 되었길 바라며 즐코하시길.
하지만 이번엔 영상보다 글로 남기는 게 더 유익할 것 같아 간만에 글을 쓰게 되었습니다. 바로 MySQL Data Types & Java Data Types 매칭! 현재 진행중인 외주 작업 중 SET 타입을 Java에선 어떻게 처리하나 찾아보다가 잘 정리된 블로그 글을 발견해 나중에 손쉽게 찾기 위해 제 블로그에도 씁니다. 위 링크에 들어가시면 테이블로 잘 정리돼 있으니 한 번 들어가 보시는것도 괜찮겠네요.
왼쪽은 MySQL, 오른쪽은 Java의 데이터 타입입니다.
BIT <-> Boolean->
TINYINT <-> Integer->
BOOL/BOOLEAN (TINYINT(1)) <-> Integer->
SMALLINT <-> Unsigned 상관없이 Integer->
MEDIUMINT <-> Integer, Unsinged라면 Long->
INT <-> Integer, Unsigned라면 Long->
BIGINT <-> Long, Unsigned라면 java.math.BigInteger->
FLOAT <-> Float->
DOUBLE <-> Double->
DECIMAL <-> java.math.BigDecimal->
DATE <-> java.sql.Date->
DATETIME <-> java.sql.Timestamp->
TIMESTAMP <-> java.sql.Timestamp->
TIME <-> java.sql.Timestamp->
YEAR <-> yearsIsDateType이 설정됐다면 java.sql.Date, 아니라면 Short->
CHAR <-> 컬럼이 Binary로 설정되지 않았다면 String, 돼 있다면 byte[]->
VARCHAR <-> CHAR와 동일->
BINARY <-> byte[]->
VARBINARY <-> byte[]->
TINYBLOB <-> byte[]->
TINYTEXT <-> String->
BLOB <-> byte[]->
TEXT <-> String->
MEDIUMBLOB <-> byte[]->
MEDIUMTEXT <-> String->
LONGBLOB <-> byte[]->
LONGTEXT <-> String->
ENUM <-> String->
SET <-> String->
사용해보니 ENUM, SET은 지정된 값이 스트링으로 반환되었습니다. 예를 들어 MySQL 컬럼이 SET('남','여')로 지정되었고, 레코드 값이 '남'이라면 자바에서 String "남"을 반환합니다.
참고가 되었길 바라며 즐코하시길.
댓글
댓글 쓰기