使用iBATIS映射到字典
时间:2020-03-06 14:33:15 来源:igfitidea点击:
给出一个简单的语句,例如:
<statement id="SelectProducts" resultMap="???"> SELECT * FROM Products </statement>
是否可以获取其中键为列名的字典对象列表?
IE。
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"] == ".99" // etc.
我想概括查询的结果以处理任意数量的列/列名称,而不映射到某些类的特定属性。
我意识到这里的示例将失败,因为结果集可能具有重复的(或者null)列名。我考虑过一个保存有键-值对索引列表的结果类。这里的关键是将列信息保留在某处。
解决方案
我们可以通过在resultMap配置中将class属性设置为HashTable来实现。此处提供更多详细信息。