오류 : Mybatis error code [17004]; 부적합한 열 유형: 1111

 

발생 : 마이바티스 쿼리xml에서 쿼리 호출 시 발생

 

상황 : form에서 넘긴 데이터의 VO 변수가 바인드 된다고해도 사용하는 변수가 null값으로 세팅되면 발생함.

 

해결1 : #{value1, jdbcType=VARCHAR2} 와 같이 jdbcType을 일일이 지정해 주거나

 

해결2-1 : 또는 context-sqlMap.xml 파일을 열어보면 아래와 같은 bean의 property 네임이 configLocation 인 xml파일을 연다.

 

 <beans profile="local">
  <bean id="sqlSessionFactoryOracle" class="net.smartfarmkorea.common.util.system.RefreshableSqlSessionFactoryBean">
   <property name="dataSource" ref="egov.dataSource"/>
   <property name="configLocation" value="classpath:/sqlmap/config/sqlmap_config_oracle.xml" />
   <property name="mapperLocations" value="classpath:/sqlmap/testproject/oracle/**/*.xml" />
   <property name="interval" value="2000" />
  </bean>
 </beans>

 

해결2-2 : 오픈한 xml파일에 아래 세팅을 추가해 준다.

 

    <settings>
        <setting name="cacheEnabled" value="false" />
        <setting name="jdbcTypeForNull" value="NULL" />
    </settings>
반응형

+ Recent posts