콘솔창에 아래와 같은 문구와 더불어
Could not set parameters for mapping:ParameterMapping
jdbcType=null
이런 문구가 보이면 '부적합한 열유형'에 대한 에러임에 분명하다.
**해결방법을 봐보자**
두가지의 방법으로 해결해보겠다.
1) 첫 번째
SQL.xml(예를 든 파일명이지만 )
<update id="updateUser" parameterType="hashMap">
<![CDATA[
UPDATE CUSTOMER
SET PASSWORD = #{password},
CUSTOMER_NAME = #{customerName},
TEL_NO = #{telNo},
EMAIL = #{email},
ZIP_NO = #{zipNo},
ADD1 = #{add1},
ADD2 = #{add2, jdbcType=VARCHAR},
REGIST_DE = SYSDATE,
REGIST_ID= #{id},
UPDATE_DE = SYSDATE,
UPDATE_ID= #{id}
WHERE ID = #{id}
]]>
</update>
위에서 에러가 난 부분이고 고친 부분
ADD2 = #{add2} ============> ADD2 = #{add2, jdbcType=VARCHAR}
2) 두번째
sql-mapper-config.xml 라고 되어있는 파일을 수정하는데
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 이 부분을 추가하면 NULL이 들어가도 에러 안 뜬다 -->
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
<typeAliases>
<typeAlias alias="bhfInfoVO" type="kr.or.ddit.service.fm.BhfInfoVO"/>
<typeAlias alias="bhfImgVO" type="kr.or.ddit.service.fm.BhfImgVO"/>
<typeAlias alias="pagingVO" type="kr.or.ddit.service.fm.command.PagingVO"/>
<typeAlias alias="userVO" type="kr.or.ddit.service.customer.UserVO" />
</typeAliases>
</configuration>
위와 같이
<setting name="jdbcTypeForNull" value="NULL" /> 이 부분을 추가해주면 Null을 처리해준다.
* 티스토리가 줄 맞춤이 안되네....
'Language > SPRING' 카테고리의 다른 글
웹서버(WEB Server)와 WAS의 차이점 (0) | 2021.08.10 |
---|---|
Spring? 특징? 기능요소? (0) | 2021.08.09 |
어노테이션(@), MVC 디자인 패턴 (0) | 2021.07.28 |
POST 방식으로 값 넘기고 받기 (0) | 2021.07.27 |
lombok 설치 및 환경설정 정리, Log.info("") 사용하기 (0) | 2021.06.24 |