반응형
- mybatis에서 사용하는 파라미터 null 처리하기 -
SPRING 에서 mybatis를 이용하여 insert 나 update를 할 때
넣어줄 파라미터 # 이 null일 경우 에러가 발생하는데
여기서 해당 컬럼이 null 허용일 경우 null인 상태로 insert나 update를 처리해주는 설정을 할 수 있다.
방법은 두가지가 존재하는데 알아보도록 하자
방법1. jdbcType 설정
- 각 파라미터 뒤에 jdbcType을 설정해주면 자연스럽게 null일 경우 null로 insert나 update가 진행된다.
<insert id='mineInsert'>
INSERT INTO mineTable(id, nickname)
VALUES(#, #)
</insert>
방법 2. xml 설정
- 귀찮게 파라미터마다 방법1처럼 설정해주기보단 xml로 전체 설정이 가능하다 -
sql-mapper-config.xml 에서 "jdbcTypeForNull"을 설정해주면 된다.
<settings>
<setting value="VARCHAR" name="jdbcTypeForNull">
</settings>
jdbcType에 설정할 수 있는값은 다음과 같다.
BIT
FLOAT
CHAR
TIMESTAMP
OTHER
UNDEFINED
TINYINT
REAL
VARCHAR
BINARY
BLOB
NVARCHAR
SMALLINT
DOUBLE
LONGVARCHAR
VARBINARY
CLOB
NCHAR
INTEGER
NUMERIC
DATE
LONGVARBINARY
BOOLEAN
NCLOB
BIGINT
DECIMAL
TIME
NULL
CURSOR
아무거나 적당히 입력하면 될거같다
https://mybatis.org/mybatis-3/ko/configuration.html#settings
(myBatis 공식 홈페이지)
반응형
댓글