반응형

Report 화면을 만들다보면 SELECT 자체가 동적으로 처리되어야할 때가 있다.


이 때는 동적 쿼리 삽입 치환변수인 $변수명$을 잘 쓰면 된다.


그리고 select 절에 resultClass="java.util.HashMap" 와 remapResult="true" 로

옵션을 할당하면 동적으로 변경되는 select에 대해서도 잘 처리가 된다.


참고로 DAO에서는 queryForList 로 받으면 되고, Return Type은 List<HashMap<String, String>>으로 받으면 된다.


단, remapResult 를 안넣으면 최초 조회한 select resultSet으로 계속 조회가 되므로 원하는 결과를 받으려면 꼭 remapResult를 true로 해야한다.


단점은, 해당 페이지가 사용빈도가 높다면 문제가 생길수도 있다는 점이다.

이유는 query와 resultSet을 조회할 때마다 새로 생성하므로 오버헤드가 생길 수 있기 때문이다.


그럴땐 차선책으로 separate를 기반으로 한줄로 select하고 Service 단에서 Parsing하여 Collection에 담는 방법도 있다.

반응형

WRITTEN BY
데르벨준

,