2012-11-22 1 views
0

MyBatis & Spring Framework를 사용하고 있습니다. DB 테이블 저장소가 있으며 일부 필드가 있습니다. 테이블의 두 필드 (예 : & Id)를 사용하여 테이블에서 레코드를 가져와야합니다.MAPPER XML의 SELECT 문에서 여러 매개 변수 전달

select * from STORE where Name="Mels" & Id=123 

테이블에 MAPPER 인터페이스를 사용하고 있습니다. MAPPER XML에 쿼리가 포함되어 있습니다. 하나의 매개 변수 쿼리

, 내가 사용할 수있는 다음 .. 이제

<select id="findAllSTOREByName" parameterType="java.lang.String" resultMap="com.StoreObject"> 
select * from "STORE" where "NAME" = #{name} 
</select> 

, 방법이 개 다른 데이터 유형, 내가 앞서 언급 한 경우와 같은 여러 매개 변수를 전달합니까?

+0

중복 된 http://stackoverflow.com/questions/6305546/mybatis-passing-multi-parameter-to-mapper-dao – Andy

답변

1

데이터를 저장할 수있는 클래스 개체 (이름 : & ID), 은 해시 맵 또는 다른 데이터 클래스가 될 수 있습니다.


select 문을 호출하기 전에 매개 변수를 hashmap 또는 다른 데이터 클래스에 넣고 선택 항목에 값의 이름을 사용합니다 (hashmap의 키 필드 또는 특성의 이름에 저장 됨). 사용 된 클래스)

작은 조각 :

HashMap<String, Object> values = new HashMap<String, Object>(); 
    values.put("id", 123); 
    values.put("name", "Mels"); 

... 매개 변수로 해시 맵과

변화를 findAllStoreByName를 호출하여 선택 토륨합니다 다음 :

<select id="findAllSTOREByName" parameterClass="hashmap"  resultMap="com.StoreObject"> 
     select * from "STORE" where NAME = #name# and id = #id# 
    </select>