Mybatis中如何使用sum对字段求和

2022-01-31

目录
  • 使用sum对字段求和
  • 避免Mybatis sum求和返回null

使用sum对字段求和

如下sql,为计算用户收益总和:

  <select id="getTotalIncome" resultType="com.lws.test.modules.user.entity.UserIncomeEntity">
    select sum(income) as totalIncome
    from income_log
    where uid = #{uid,jdbcType=BIGINT}
 </select>

其中返回的求和字段类型需要设置为 BigDecimal :

public class UserIncomeEntity {
    private BigDecimal totalIncome;
}

避免Mybatis sum求和返回null

<select id="getOrderSumMoneyByUserCode" parameterType="string" resultType="bigDecimal">
SELEC SUM(ORDER_MONEY ) FROM gm_order WHERE ADD_UID = #{userCode}
</select>

如上写法如果没有结果的话就会返回null,其实我们希望返回的是0.00这种情况

<select id="getOrderSumMoneyByUserCode" parameterType="string" resultType="bigDecimal">
SELECT COALESCE(SUM(ORDER_MONEY),0) FROM gm_order WHERE ADD_UID = #{userCode}
</select>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持北冥有鱼。

《Mybatis中如何使用sum对字段求和.doc》

下载本文的Word格式文档,以方便收藏与打印。