본문 바로가기
Database/Oracle

Oracle CLOB 데이터 조회 방법(iBatis)

by eurowondollaryen 2022. 4. 6.

제가 참여중인 프로젝트에서는 신규 기능 추가 시, 문제 대응을 빠르게 하기 위해 로그 테이블을 만들고, 로그를 조회하는 쿼리를 짜놓고 조회하는 방식으로 모니터링을 하고 있습니다.

 

그러나 기능이 여러 개 추가되면서, 조회해야 하는 쿼리의 수가 많아지다 보니, 이것을 한 번에 볼 수 있도록 모니터링 쿼리를 관리하고 싶어졌습니다.(단순 쿼리 조회가 아닌, 변수도 입력해서)

 

그래서 parameter를 포함한 쿼리를 저장하기 위해 CLOB 타입으로 테이블을 만든 뒤, 조회를 했으나,  실제 저장된 텍스트가 아닌, oracle.sql.CLOB@XXXXXXX 라는 내용으로 조회가 되었습니다.

 

해당 문제에 대한 해결 방법은 아래와 같습니다.

해결 방법: sqlMap안에 <resultMap>을 정의한 뒤, <select> 태그의 resultMap 속성을 정의한 resultMap으로 해준다.

주의 사항: resultMap이 아닌 resultClass로 속성을 넣을 경우, oracle.sql.CLOB@XXXXX로 조회가 된다.

<resultMap class="java.util.HashMap" id="resultMap1">
	<result property="QUERY_TEXT" javaType="java.lang.String" jdbcType="CLOB" />
</resultMap>
<select id="SELECT00" parameterClass="java.util.HashMap" resultMap="resultMap1">

'Database > Oracle' 카테고리의 다른 글

ORA-00600 내부 오류 코드 트러블슈팅  (0) 2022.01.27