iBATIS를 사용하여 사전에 매핑하기
-
02-07-2019 - |
문제
다음과 같은 간단한 진술이 주어지면:
<statement id="SelectProducts" resultMap="???">
SELECT * FROM Products
</statement>
키가 열 이름인 사전 개체 목록을 얻을 수 있습니까?즉.
var list = Mapper.QueryForList<IDictionary<string,string>>("SelectProducts", null);
IDictionary<string, string> dict = list[0];
// dict["id"] == "1"
// dict["name"] == "Some Product Name"
// dict["price"] == "$9.99"
// etc.
일부 클래스의 특정 속성에 매핑하지 않고 여러 열/열 이름을 처리하기 위해 쿼리 결과를 일반화하고 싶습니다.
결과 집합에 중복(또는 null) 열 이름이 있을 수 있으므로 여기 예제는 실패할 것입니다.저는 키-값 쌍의 색인화된 목록을 보유하는 결과 클래스에 대해 생각해 보았습니다.여기서 중요한 것은 열 정보를 어딘가에 유지하는 것입니다.
해결책
resultMap 구성에서 클래스 속성을 HashTable로 설정하여 이를 수행할 수 있습니다.자세한 내용 확인 가능 여기.
제휴하지 않습니다 StackOverflow