쓸만한 JSP 홈페이지 만들기

공통클래스 - MariaUsTypeHandler

엉으니 2019. 6. 21. 20:00

이 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