반응형
Mybatis 쿼리 파리미터 프로퍼티 중에 jdbcType가 있는데 항상 헷갈려서 정리해본다.
Mybatis 공식 문서에 이렇게 설명되어 있다.
jdbcType : 지원되는 타입 목록에서 설명하는 JDBC 타입. JDBC타입은 insert, update 또는 delete 하는 null 입력이 가능한 칼럼에서만 필요하다. JDBC의 요구사항이지 마이바티스의 요구사항이 아니다. JDBC로 직접 코딩을 하다보면 null이 가능한 값에 이 타입을 지정할 필요가 있을 것이다.
nulll값을 처리하기 위해 필요한 프로퍼티인데 Mybatis에서 null값에 대한 처리를 하기 위함이아니라 JDBC에서 필요해서 넣어줘야 한다고 되어있다.
NULL이면 그냥 NULL로 쿼리를 날리면 될일이지 JDBC는 왜 그것이 필요한지 잘 모르겠으나..
jdbcType 없이 NULL을 파라미터로 전달하면 "부적합한 열 유형 : 1111" 이런 에러가 발생한다.
nullable 컬럼에 NULL을 넣어야 하는 경우가 있다면 저 프로퍼티를 반드시 적어줘야 하겠고,
JDBC가 왜 그것이 필요한지는 아직 잘 모르겠다.
그리고 넣을 수 있는 값은 이렇게 있는데, 정확히 DB DATA TYPE과 일치하지 않는 경우도 있는데 어떤걸 써야하는지도 잘 모르겠다.
BIT | FLOAT | CHAR | TIMESTAMP | OTHER | UNDEFINED |
TINYINT | REAL | VARCHAR | BINARY | BLOG | NVARCHAR |
SMALLINT | DOUBLE | LONGVARCHAR | VARBINARY | CLOB | NCHAR |
INTEGER | NUMERIC | DATE | LONGVARBINARY | BOOLEAN | NCLOB |
BIGINT | DECIMAL | TIME | NULL | CURSOR | ARRAY |
반응형
'개발 > 자바' 카테고리의 다른 글
JSON 스키마 (0) | 2017.06.30 |
---|---|
JSON STREAMING API (0) | 2017.06.30 |
FileLock (0) | 2017.01.11 |
checked exception과 unchecked exception (0) | 2016.07.18 |
자바 정규표현식 관련 클래스 (0) | 2016.07.02 |