iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >MybatisPlus使用聚合函数的示例代码
  • 329
分享到

MybatisPlus使用聚合函数的示例代码

MybatisPlus聚合函数 2023-03-19 17:03:56 329人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录前言方式1 通过select自定义sql求一个sum求多个sum方式2 xml手写原生sql总结前言 今天遇到了一个求总数返回的情况,我一想这不是用sum就完事了吗。 但是仔细想

前言

今天遇到了一个求总数返回的情况,我一想这不是用sum就完事了吗。

但是仔细想想,mybatisPlus好像没有直接使用sum的api

虽然没有直接提供,但是办法还是有的,下面就分享下如何实现的:

首先如果使用sql是这么写的:

ok,既然知道了sql怎么写的,那就开始写代码吧

注意,本文主要以sum为例,但是也同时适用于其他聚合函数,比如avg,min,max

方式1 通过select自定义sql

求一个sum

虽然MybatisPlus没有直接提供对sum函数操作的api,但是QueryWrapper里面有一个select的api,可以支持我们自定义查询sql。

注意:我这种写法需要实体中有这个别名,不然不行的!

那我就直接把代码贴出来了:

 public Map queryGuaranteeOrderSumAmount() {
        GuaranteeOrder guaranteeOrder =new GuaranteeOrder();
        QueryWrapper<GuaranteeOrder> queryWrapper = new QueryWrapper<>();
        // 退款金额总计 sum聚合函数
        queryWrapper.select("sum(refund_amount)refundAmount");
        // 这条订单信息的详情
        GuaranteeOrder guaranteeOrderDetail= this.getOne(queryWrapper);
        if (guaranteeOrderDetail== null){
            guaranteeOrder.setRefundAmount(BigDecimal.valueOf(Double.valueOf(0)));
        }else{
            guaranteeOrder.setRefundAmount(guaranteeOrderDetail.getRefundAmount());
        }
        HashMap<String, Object> map = new HashMap<>();
        // 退款金额总计
        map.put("refundSumAmount",guaranteeOrderDetail.getRefundAmount());
        return map;
    }

可以看到执行的sql是一样的。证明我们的思路和语法是没问题的

求多个sum

那有的小可爱(大聪明)可能就会这么想了,那我要是想sum多个值,是不是再写一个select就可以了,那还真不是!我就是这个大聪明:

如图所示,我又sum了一个字段,但是调用接口的时候,发现一个值是空的:

这其实是错误的!除非再创建一个queryWrapper写select!

正所谓高手怕菜鸟,其实是我们想的太复杂啦,简单的解决方式是:sql怎么写,你就怎么写嘛,直接在后面再拼一个条件就好了,例如:

这次就好啦,解决问题!

方式2 xml手写原生sql

觉得上面的方式比较麻烦,那就可以简单点,直接在mapper(dao).xml里面手写sql

一般项目中都是MybatisPlus和Mybatis同时使用的,就是防止一些关联或者特别麻烦的sql。

总结

虽然MybatisPlus没有直接提供我们使用聚合函数的api,但是通过select也是可以获取到编写自定义sql的,使用起来也还好啦。希望后续国产MP开发团队可以专门针对这些函数进行封装,这样使用起来就更方便了!

到此这篇关于MybatisPlus使用聚合函数的示例代码的文章就介绍到这了,更多相关MybatisPlus 聚合函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: MybatisPlus使用聚合函数的示例代码

本文链接: https://www.lsjlt.com/news/200282.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MybatisPlus使用聚合函数的示例代码
    目录前言方式1 通过select自定义sql求一个sum求多个sum方式2 xml手写原生sql总结前言 今天遇到了一个求总数返回的情况,我一想这不是用sum就完事了吗。 但是仔细想...
    99+
    2023-03-19
    MybatisPlus 聚合函数
  • MybatisPlus怎么使用聚合函数
    这篇文章主要介绍了MybatisPlus怎么使用聚合函数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MybatisPlus怎么使用聚合函数文章都会有所收获,下面我们一起来看看吧。首先如果使用sql是这么写的:...
    99+
    2023-07-05
  • PostgreSQL聚合函数的分组排序使用示例
    目录聚合函数COUNTSUM、AVGMAX、MIN聚合函数+DISTINCTGROUP BYHAVINGORDER BY聚合函数 用于汇总的函数。 COUNT COUNT,计...
    99+
    2024-04-02
  • Python Pandas聚合函数的应用示例
    目录Python Pandas聚合函数应用聚合函数1) 对整体聚合2) 对任意某一列聚合3) 对多列数据聚合4) 对单列应用多个函数5) 对不同列应用多个函数6) 对不同列应用不同函...
    99+
    2024-04-02
  • MyBatisPlus代码生成器的使用示例
    目录导入依赖表结构当前项目结构配置代码生成器1、globalConfig 全局策略配置2、dataSourceConfig 数据源配置AutoGenerator 是 MyBatis-...
    99+
    2024-04-02
  • SpringBoot整合MybatisPlus实现基本CRUD的示例代码
    目录一、引入相应的依赖二、进行配置三、新建数据库表四、配置 Mybatis Plus 自动填充五、实现User实体类、UserMapper、UserService六、使用Restfu...
    99+
    2023-05-19
    SpringBoot MybatisPlus实现CRUD SpringBoot MybatisPlus CRUD
  • Pandas实现聚合运算agg()的示例代码
    目录前言1. 创建DataFrame对象2. 单列聚合3. 多列聚合4. 多种聚合运算5. 多种聚合运算并更改列名6. 不同的列运用不同的聚合函数7. 使用自定义的聚合函数8. 方便...
    99+
    2024-04-02
  • ES结合java代码聚合查询详细示例
    思路不清晰的小伙伴可以先在es中把聚合代码写出来 { "aggs": { "brandAgg": { "terms": { "field"...
    99+
    2023-05-19
    java es聚合查询 es聚合算法 java查询es数据
  • Django 聚合函数的具体使用
    前言 orm模型中的聚合函数跟MySQL中的聚合函数作用是一致的,也有像Sum、Avg、Count、Max、Min,接下来我们逐个介绍 聚合函数 所有的聚合函数都是放在djan...
    99+
    2024-04-02
  • SQL中的开窗函数详解可代替聚合函数使用
     在没学习开窗函数之前,我们都知道,用了分组之后,查询字段就只能是分组字段和聚合的字段,这带来了极大的不方便,有时我们查询时需要分组,又需要查询不分组的字段,每次都要又到子查询,这样显得sql语句...
    99+
    2024-04-02
  • MySQL如何使用聚合函数
    这篇文章主要为大家展示了“MySQL如何使用聚合函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL如何使用聚合函数”这篇文章吧。聚合函数命令: sum...
    99+
    2024-04-02
  • 基于JAVA的天聚人合话费接口示例代码
    前期准备 接口申请,申请地址—“天聚人合”官网:https://www.tianjurenhe.com/docs/api/id=2 你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key 接口说明 免费...
    99+
    2024-04-02
  • MybatisPlus实现逻辑删除的示例代码
    目录1、什么是逻辑删除2、使用说明:3、如何使用Mybatis Plus实现逻辑删除4、测试1、什么是逻辑删除 逻辑删除是名义上的删除,就是对要要删除的数据打上一个删除标记,在逻辑上...
    99+
    2023-05-19
    MybatisPlus逻辑删除 Mybatis 逻辑删除
  • Python torch.fft.rfft()函数用法示例代码
    目录1、旧版2、新版3、新旧版对比补充:使用numpy模拟torch.fft.fft拯救paddle总结在新旧版的torch中的傅里叶变换函数在定义和用法上存在不同,记录一下。 1、...
    99+
    2024-04-02
  • python绘图subplots函数使用模板的示例代码
    背景 使用python进行图像可视化,很多情况下都需要subplots将多幅图像绘制在一个figure中。因为使用频率足够高,那么程序员就需要将其“封装”,方便复用,所以,这里将笔者...
    99+
    2024-04-02
  • MATLAB中text函数使用的语法与示例代码
    目录语法说明示例向数据点添加文本说明向多个数据点添加文本显示多行文本指定文本大小和颜色 修改现有文本 总结text函数的功能是向数据点添加文本说明。 语法 tex...
    99+
    2023-05-18
    matlab text函数 matlab text
  • 使用JS实现一个Sleep函数的示例代码
    目录前言1.目标分析2.setTimeout 封装3.Promise 封装4.async/await总结前言 我们都是 JavaScript 是一个单线程语言,单线程有它的好处也有它...
    99+
    2024-04-02
  • SQL Server中的聚合函数怎么使用
    这篇“SQL Server中的聚合函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SQL Se...
    99+
    2023-06-30
  • springboot中使用mybatisplus自带插件实现分页的示例代码
    目录springboot中使用mybatisplus自带插件实现分页1.导入mybatisplus分页依赖2.添加MybatisPlusConfig配置类3.测试分页springbo...
    99+
    2024-04-02
  • SQLServer中聚合函数的用法
    聚合函数对一组值执行计算,并返回单个值。 除了 COUNT 外,聚合函数都会忽略 Null 值。 聚合函数经常与 SELECT 语句的 GROUP BY...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作