Framework/MyBatis
[mssql] net.sourceforge.jtds.jdbc.ClobImpl@
Yizi
2018. 11. 21. 14:35
[문제상황]
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