티스토리 뷰

[문제상황]

mssql - mybatis 환경에서

jdbc드라이버를 net.sourceforge.jtds를 이용한 경우

db테이블에서의 길이가 긴 문자열이 표현이 안되는 상황이 발생.


db테이블의 varchar 칼럼을 net.sourceforge.jtds.jdbc.ClobImpl@5919518e 이런식으로 객체값을 가져오는 현상 파악


[해결책]

- 방법1. resultMap을 이용하여 jdbcType을 상황에 맞게 CLOB또는 BLOB, VARCHAR(255) 변경시켜줌


<resultMap id="queryMap" type="java.util.HashMap">

<result property="memo" column="_MEMO" jdbcType="CLOB" javaType="java.lang.String" />

</resultMap>


- 방법2. select 쿼리 진행시 cast 하기.


마찬가지로. CLOB, BLOB, VARCHAR(글자수)  필요한 JDBC타입으로 변경.


SELECT  CAST( msg AS varchar(255)) as memo

FROM MSG

'Framework > MyBatis' 카테고리의 다른 글

MyBatis 조건절 문자열 비교  (0) 2018.11.21
댓글