728x90
반응형

iBatis 에서 CLOB, LONG 처리 안된다.

Handler 등록해서 된다고 하는데 안된다고 하는 사람도 있다.

시간도 없고 해서 아예 iBatis Handler 테스트 해보다가 제외 시키고

ibatis 에서 connection 을 얻어와 PreaparedStatement 로 구현했다.

 

근데 문제...

데이터 타입에 대한 제약사항을 검토를 하지 않았던 것이다.

Long, CLOB ... 둘 다 Group by 안된다.

그러니까  group by 해야 한다면 테이블 따로 떼서 써야 한다.

그런데 LONG 의 문제는 Where 조건 자체가 안되므로 Like 검색을 할 수가 없다는 것.

 

-ㅅ-;;; 난 검색되어야 해!!!! ㅠㅠㅠ

그래서 LONG 으로 테스트 했던거 다시 CLOB 으로 테스트하는 삽질이 발생.

아 놔..

 

암튼, iBatis 로 4000Byte 가 넘는 데이터때문에 CLOB, LONG 으로 처리 할 수 밖에 없다면,

1. 적정한 데이터타입이 무엇인지 고민해봐야 나같은 삽질을 방지할 수 있다.

**제약사항

PL/SQL LOG Types(locator) vs LONG< LOGN RAW data type 으로 네이버에서 검색하여

Good Start Education 카페의 게시글을 참고해본다.

 

**CLOB 제약사항

http://blog.naver.com/muscle1?Redirect=Log&logNo=10017426564

 

2. Handler 한번 찾아서 작성해보길.( myBatis 는 되는거 같음... )

 - Handler 하나 만든다고 해서 되는게 아니라 parameterMap, resultMap 도 신경써서 테스트를 해봐야 하므로 공수가 좀 걸린다.( 나도 조금 해보다가 시간이 촉박하여 다른 방법으로 갈아탐. )

 

3. jdbc library 를 상위 드라이버로 변경( 강력추천 )

실서버의 oracle 버전이 10g 인 관계로 드라이버를 10.2.0.5 버전으로 업데이트 했다.

그러니 핸들러 없이 iBatis 에서 동작한다. 야홋!!!!

- http://cafe.naver.com/sollog.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=19&

 

4. PreparedStatement 를 이용하여 구현을 생각한다.  

**INSERT/UPDATE

- http://blog.naver.com/endstar7?Redirect=Log&logNo=100048393263

- http://blog.bagesoft.com/728   ( Long 형... 아주 잘 들어간다. )

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,