Study/Java
[MyBatis] Oracle 부적합한 열유형 null 처리방법
momong'-'
2020. 12. 31. 18:57
mybatis-config.xml 또는 context-sqlMap.xml
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:sqlMap/sql-mapper-config.xml" />
</bean>
프로퍼티 네임이 configLocation인 value값에 보면 configLocation경로가 있음
저 경로 xml에 들어가 configuration 태그 아래 settings 이라는 태그가 있는지 확인하고
없을 경우 settings를 추가하여 아래처럼 설정하고 있을 경우는 setting을 추가해주면 된다.
매 가이드
// 없는 경우
<configuration>
<settings>
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
</configuration>
// 있는 경우
<settings>
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
jdbcType=VARCHAR 사용
<insert id="insertQuery">
INSERT INTO [table_name]
(
id
, name
, phone
)
VALUES (
#{id}
, #{name}
, #{phone, jdbcType=VARCHAR}
)
</insert>
값이 null일 경우 null처리가 된다.
조건절 if문 사용
<insert id="insertQuery">
INSERT INTO [table_name]
(
id
, name
<if test="phone != null and phone != ''">
, phone
</if>
)
VALUES (
#{id}
, #{name}
<if test="phone != null and phone != ''">
, #{phone}
</if>
)
</insert>
도움이 되셨다면 아래 ♡ 눌러주세요 (로그인 필요 없습니당)