<DB내용> TABLE "table01"
ACCOUNTID | GROUPID |
samsik01 | group01 |
samsik02 | group02 |
samsik03 | group03 |
1. queryForMap 의 경우
Map map =
getSqlMapClientTemplate().queryForMap("Statement.state01", map, "accountId");
map : Parameter 로 map을 사용하기로 함
2. qeuryForList 의 경우
List list =
getSqlMapClientTemplate().queryForList("Statement.state01", map);
SQL Map을 어떻게 구성하냐에 따라 여러가지로 사용할수가 있는데
<resultMap id="result" class="java.util.HashMap">
<result property="accountId" column="ACCOUNTID"/>
<result property="groupId" column="GROUPID"/>
</resultMap>
<select id="Statement" parameterClass="map" resultMap="result">
select *
from TABLE01
where /* 여기는 prameter 를 받아서 처리 */
</select>
이는 다음과 같은 결과를 볼수 있다.
## 1의 경우, 3개의 Map element가 생김
key는 accountId 이고, value는 resultMap 에서 구성한 property이다.
samsik02={accountId=samsik02, groupId=group01}
samsik03={accountId=samsik03, groupId=group01}
## 2의 경우 , 3개의 List element가 생김
{accountId=samsik02, groupId=group01}
{accountId=samsik03, groupId=group01}
[참고]
1. <resultMap id="result" class="java.util.<XX>List">
이럴때는 가능할까? 또 어떻게 사용할까?