MyBatis 3.0의 예제를 보면 파라미터를 하나 던지는 예제만 줄줄 있습니다.
그 타입이 primitive 이던, POJO 형태든지 말이죠.
여러 개의 파라미터를 던지려면 @Param 어노테이션을 사용하고, map으로 xml 파일에 정의해 주면 됩니다.
1. 먼저 Mapper Interface에 메소드를 정의합니다.
public Map selectMachineAgentMap(@Param("machineId") int machineId, @Param("agentId") int agentId);
2. mapper.xml 파일에 paramterType을 map으로 잡습니다.
<select id="selectMachineAgentMap" parameterType="map" resultType="map">
SELECT MACHINE_ID, AGENT_ID
FROM M_MACHINE_AGENT_MAP_TBL
WHERE MACHINE_ID = #{machineId} AND AGENT_ID = #{agentId}
</select>
SELECT MACHINE_ID, AGENT_ID
FROM M_MACHINE_AGENT_MAP_TBL
WHERE MACHINE_ID = #{machineId} AND AGENT_ID = #{agentId}
</select>
위 와 같이 하면 MyBatis는 맵 객체를 생성하고 거기에 @Param에 해당하는 이름으로 전달받은 인자를 저장합니다. 이후 프로세서에서는 #{}의 이름에 해당하는 key를 이용하여 데이터를 추출하고 컬럼의 메타데이터에 해당하는 타입으로 캐스팅하여 쿼리를 날리게 됩니다.
이 글은 스프링노트에서 작성되었습니다.
'JSP' 카테고리의 다른 글
PAGING(sql) (0) | 2012.05.08 |
---|---|
동적쿼리문 (0) | 2012.05.08 |
log4j구현환경제공. (0) | 2012.05.08 |
MyBatis (odbc프레임웍) (0) | 2012.05.08 |
MVC패턴 (0) | 2012.05.08 |