java—可以在mybatis中使用聚合函数吗

brgchamk  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(371)

我是mybatis的新手。据我所知,从数据库检索数据时,每一列都Map到一个属性值。所以有没有可能用mybatis来使用聚合函数呢。我们将把结果Map到哪个属性?我到处都搜索过它,但是找不到任何关于mybatis使用聚合函数的细节。如果有人能帮忙,请。

r7xajy2e

r7xajy2e1#

结果集的每一列都Map到一个属性。因此,只需要生成一个sql语句就可以了。
例如:

<resultMap id="regionProfit" type="app.RegionProfitVO">
  <result property="region" column="region" />
  <result property="cnt" column="cnt" />
  <result property="profit" column="profit" />
</resultMap>

<select id="getRegionProfit" resultMap="regionProfit">
  select
    region,
    count(sales) as cnt,
    sum(revenue) - sum(expenses) as profit 
  from sales
  group by region
</select>

现在,在java代码中,您可以执行以下操作:

List<RegionProfitVO> rp = sqlSession.selectList("getRegionProfit");

相关问题