簡體   English   中英

是否可以在 MyBatis 中使用聚合函數

[英]Is it possible to use Aggregate functions in MyBatis

我是 MyBatis 的新手。 據我所知,在從數據庫中檢索數據時,每一列都映射到一個屬性值。 那么是否可以使用MyBatis來使用聚合函數。 我們將 map 結果賦予什么屬性? 我到處都搜索過但是找不到任何關於聚合函數在 MyBatis 中的用法的細節。 如果有人可以提供幫助,請。

結果集的每一列都映射到一個屬性。 因此,只需生成一個 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");

如果您不想創建另一個 POJO,您始終可以將結果檢索為 java.util.Map<String, Object> 的列表,但在 select 查詢的 mapper.xml 文件中使用resultType="hashmap"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM