반응형
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에 담는 방법도 있다.
반응형
'Java & Spring > iBatis & myBatis' 카테고리의 다른 글
[ibatis ] boolean 값 isEqual 조회가 안될 때 확인해야하는 것 (1) | 2019.05.07 |
---|---|
myBatis CLOB 값 저장 (0) | 2019.01.29 |
[myBatis] 오라클 다건 list insert (0) | 2015.12.24 |
[iBatis] dynamic prepend (0) | 2015.10.20 |
[iBatis] 리스트 타입의 데이터를 in 조건으로 만들기 (0) | 2015.10.20 |
WRITTEN BY
,