2013-08-08 1 views
0

맵을 설정하고 iBatis에서 object를 parameterClass로 설정하는 것의 차이점은 무엇입니까?iBatis에서 매개 변수 클래스로 맵을 설정하십시오.

수단

<update id="update" parameterClass="map"> 
    UPDATE city 
    SET province_id = #province_id# 
    WHERE id = #id# 
</update> 

<update id="update" parameterClass="City"> 
    UPDATE city 
    SET province_id = #province_id# 
    WHERE id = #id# 
</update> 

?

둘 다 테스트 할 때 차이점을 찾을 수 없습니다.

은 정말 parameterClass="map" 단순히 "java.util.Map"의 별칭 인에

+0

"두 가지를 모두 테스트했을 때 나는 어떤 차이도 찾을 수 없었습니다"라는 의미는 무엇입니까? 지도 케이스는 Map 인스턴스를 전달해야하고 두 번째 인스턴스는 City 인스턴스를 전달해야합니다. – Hippoom

+0

지도 개체는 값 ({ "province_id", "19283"}, { "id", "32787"}) 만 전달하는 반면 City 개체는 각 요소 유형 (long province_id, long id)을 갖습니다. 나는 맵을 사용하여 SQL에서 인용 할 경우 iBatis가 매개 변수의 유형을 어떻게 알고 있는지 궁금해했습니다. 어쨌든 작동하지만, 겁이나요 ..... – user2660234

답변

0

"지도"... "지도"모든 설정하지만, 무서워하고 싶다. City 클래스가 Map 인터페이스를 구현했기 때문에 간단하다고 생각하지 않습니까?

+0

"City"를 매개 변수로 사용하면 ibatis는 [Long, Int, String]을 설정대로 전달합니다. 그러나 매개 변수로 'map'을 사용하면 ibatis는 여전히 작동하지만 [String, String, String]을 전달합니다. 내 질문은 "올바른 유형이없는 인수를 전송해도 문제가없는 것입니까?" – user2660234

관련 문제