我正在使用MyBatis和Java。我可以在结果图中使用多个 ids 吗?
代码
我的结果Java类看起来像这样:
public class MyClass {
private int id1;
private int id2;
private int total;
// getters & setters
}
目前,我的MyBatis结果图如下所示:
<resultMap id="MyResult" type="MyClass">
<result property="id1" column="id1" />
<result property="id2" column="id2" />
<result property="total" column="total" />
</resultMap>
此查询中使用此结果映射:
<select id="mySelect" resultMap="MyResult" parameterType="Map">
select
id1,
id2,
sum(total) as total
from
myTable
group by
id1,id2;
</select>
一切正常,但根据MyBatis文档,我应该使用 id 来获得一些效率。我想将MyBatis结果映射更改为:
<resultMap id="MyResult" type="MyClass">
<id property="id1" column="id1" />
<id property="id2" column="id2" />
<result property="total" column="total" />
</resultMap>
问题
[稍后编辑]:测试过,似乎它没有搞砸分组和行,所以我会说它像以前一样工作,并且符合预期。
我在哪里看,但找不到答案
答案 0 :(得分:1)
是的,它将像以前一样工作,并且根据文档,它将获得一些效率,当您处理大量行时,您将会欣赏。无论如何,我的建议是使用第二个结果图,以便根据您的数据库结构在结果图的定义中最准确。