이 MariaUsTypeHandler클래스는 mybatis연동 config.xml에서 불러오는 공통클래스이다.
이 클래스의 목적은 실행쿼리 파라미터를 인코딩하여 로그파일에 쌓는데 목적이 있다.
public class MariaUsTypeHandler implements TypeHandler<Object> {
private final Logger logger = LoggerFactory.getLogger(MariaUsTypeHandler.class);
public Object getResult(ResultSet rs, String s) throws SQLException {
String result = rs.getString(s) == null ? "" : rs.getString(s) ;
try {
result = new String(result.getBytes("ISO-8859-1"), "EUC-KR");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//logger.debug("setParameter result : "+result);
return result;
}
public Object getResult(ResultSet rs, int i) throws SQLException {
return rs.getString(i);
}
public Object getResult(CallableStatement cs, int i) throws SQLException {
return cs.getString(i);
}
public void setParameter(PreparedStatement ps, int i, Object parameters, JdbcType jdbcType) throws SQLException {
String param = (String) parameters == null ? "" : (String) parameters;
try {
param = new String(param.getBytes("EUC-KR"), "ISO-8859-1");
logger.debug("setParameter param : "+param);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
StringReader reader = new StringReader(param);
ps.setCharacterStream(i, reader, param.length());
}
}
이렇게 하면 개발할 때 콘솔에서 파라미터를 바로 볼 수 있어서
혹시나 발생할 오류 디버깅을 편리하게 할 수도 있다.
반응형
'쓸만한 JSP 홈페이지 만들기' 카테고리의 다른 글
Spring 설정xml - ehcache-context.xml (0) | 2019.06.24 |
---|---|
공통클래스 - ObjectUtils (0) | 2019.06.21 |
mybatis연동 config.xml (1) | 2019.06.21 |
file-query.xml (0) | 2019.06.21 |
cache-query.xml (0) | 2019.06.21 |