티스토리 뷰



자바, iBatis를 사용하다가 DB의 데이터에 $가 있는걸 발견하였다.

쿼리에서 바로 삭제를 하지 않고 iBatis에서 해당 데이터만 따로 관리하고자 하였다.

그런데 iBatis에서 쿼리가 되지 않았다.



아래와 같이 작성을 하면 iBatis 오류가 난다.


SELECT MINOR_CODE, 
       CODE_KR_NM 
FROM   SM_SYSTEM_CODE 
WHERE  MINOR_CODE <! [CDATA[ <> ]]> '$'

  AND  MAJOR_CODE = #majorCode# 

ORDER BY CAST(MINOR_CODE AS INT)


iBatis에서는 당연한 결과다.

iBatis 문법에서 $ 기호는 테이블이나 동적 컬럼을 해당하는데 $기호 뒤에 아무거도 없으니깐 에러가 난다.


하지만 데이터에 $기호가 들어간 걸 어떻게 찾는지 난감했다.

몇시간를 검색한 결과 해결책을 찾았다.


SELECT MINOR_CODE, 
       CODE_KR_NM 
FROM   SM_SYSTEM_CODE 
WHERE  MINOR_CODE <! [CDATA[ <> ]]> '$$'

  AND  MAJOR_CODE = #majorCode# 

ORDER BY CAST(MINOR_CODE AS INT)


그냥 한번 더 적어주면 된다.


해결책이 다소 당황스럽다.



[프로그램] - 자바 Spring3.x 스케줄링


[프로그램] - 전자정부프레임웍에서 ibatis 쿼리 로그 생성


[프로그램] - iBATIS Insert 시 자동으로 생성된 Key의 참조


[프로그램] - mybatis 에서 mysql like 를 사용 하려면!!





'프로그램' 카테고리의 다른 글

프로그램 개발에 유용한 3종 셋트 사이트  (134) 2014.02.20
MSSQL 형변환  (0) 2014.02.18
자바 Spring3.x 스케줄링  (0) 2014.02.12
SWT 프로그램 기초  (0) 2014.02.11
비주얼 베이직의 암호화 기법(?)  (0) 2014.02.11
댓글