Java Fluent Mybatis聚合查询与apply方法流程的示例分析
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关Java Fluent Mybatis聚合查询与apply方法流程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据准备为了聚
千家信息网最后更新 2025年02月02日Java Fluent Mybatis聚合查询与apply方法流程的示例分析
这篇文章将为大家详细讲解有关Java Fluent Mybatis聚合查询与apply方法流程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
数据准备
为了聚合查询的条件,添加了几条数据。
MIN
我们试着获取最小的年龄。
方法实现
@Override public Integer getAgeMin() { Mapresult = testFluentMybatisMapper .findOneMap(new TestFluentMybatisQuery().select.min.age("minAge").end()) .orElse(null); return result != null ? Convert.toInt(result.get("minAge"), 0) : 0; }
控制层代码
@ApiOperation(value = "获取最小年龄", notes = "获取最小年龄") @RequestMapping(value = "/getAgeMin", method = RequestMethod.GET) @ResponseBody public ResultgetAgeMin() { try { return Result.ok(aggregateService.getAgeMin()); } catch (Exception exception) { return Result.error(ErrorCode.BASE_ERROR_CODE.getCode(), exception.getMessage(), null); } }
调试代码
代码说明:
1、age("minAge")为什么要加一个字符串进去呢?不加可以吗?答案是可以,不过你看到的结果返回时这样的。
没错,括号内的是聚合查询结果别名,不传的话结果比较尴尬,建议还是传一下。
MAX
在做max聚合函数的时候,我来搞复杂一点,加上group by。
定义返回实体。
import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor; /** @Author huyi @Date 2021/10/26 14:15 @Description: 聚合最大年龄返回体 */@Data@AllArgsConstructor@NoArgsConstructor@Builderpublic class AggregateMaxAgeRsp { private String name; private Integer maxAge;}
方法实现
@Override public ListgetAgeMaxByName() { List
控制层代码
@ApiOperation(value = "根据年龄分组并获取最大年龄", notes = "根据年龄分组并获取最大年龄") @RequestMapping(value = "/getAgeMaxByName", method = RequestMethod.GET) @ResponseBody public Result> getAgeMaxByName() { try { return Result.ok(aggregateService.getAgeMaxByName()); } catch (Exception exception) { return Result.error(ErrorCode.BASE_ERROR_CODE.getCode(), exception.getMessage(), null); } }
调试代码
OK,没什么问题。
代码说明:
1、使用了Hutools工具BeanUtil将map的值填充到实体对象中。
SUM、AVG、COUNT
sum、avg、count加一起试试吧。
定义返回体
import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor; /** @Author huyi @Date 2021/10/26 14:50 @Description: 聚合平均总和返回体 */@Data@AllArgsConstructor@NoArgsConstructor@Builderpublic class AggregateAgeSumAvgAndCountRsp { private String name; private Integer sum; private Integer avg; private Integer count;}
方法实现
@Override public ListgetAgeSumAvgCountByName() { List
控制层代码
@ApiOperation(value = "根据年龄分组并获取年龄和、平均年龄、数量", notes = "根据年龄分组并获取年龄和、平均年龄、数量") @RequestMapping(value = "/getAgeSumAvgCountByName", method = RequestMethod.GET) @ResponseBody public Result> getAgeSumAvgCountByName() { try { return Result.ok(aggregateService.getAgeSumAvgCountByName()); } catch (Exception exception) { return Result.error(ErrorCode.BASE_ERROR_CODE.getCode(), exception.getMessage(), null); } }
调试代码
OK,完美。
apply方法使用
官方提供了显示自由指定字段.apply语法功能。我们测试一下好不好用。
返回体定义
import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor; import java.util.Date; /** @Author huyi @Date 2021/10/26 15:10 @Description: 聚合应用返回体 */@Data@AllArgsConstructor@NoArgsConstructor@Builderpublic class AggregateApplyRsp { private String name; private Date createTime; private Integer minAge; private Date maxTime;}
方法实现
@Override public ListgetApply() { List
控制层代码
@ApiOperation(value = "根据名字获取最小年龄,使用语句", notes = "根据名字获取最小年龄,使用语句") @RequestMapping(value = "/getApply", method = RequestMethod.GET) @ResponseBody public Result> getApply() { try { return Result.ok(aggregateService.getApply()); } catch (Exception exception) { return Result.error(ErrorCode.BASE_ERROR_CODE.getCode(), exception.getMessage(), null); } }
调试代码
OK,完美。
关于"Java Fluent Mybatis聚合查询与apply方法流程的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
年龄
代码
方法
最小
查询
分组
控制
最大
篇文章
结果
流程
示例
分析
名字
实体
数据
数量
更多
语句
不错
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
认证业务属于网络安全业务吗
路北区网络技术质量保证
网络安全研究所所长刘权简历
博赛网络技术有限公司卢越洋
电厂网络安全软件
网络安全防护意识短视频
台州网络安全保卫支队
网络安全风险自查整改
淄博市网络安全行业发展
中国科技信息期刊遴选数据库
软件开发好怎么开始销售
软件开发管理工作职责
北京好的软件开发科技
软件开发 评估
客户端连接数据库权限
国泰安数据库国企民企
广达服务器主板开机按f1跳过
常用的仓库管理软件开发
网络安全未成年人
文明重启什么服务器是核心
数据库概念图示
推网络技术公司
滨州智慧养老软件开发公司
媒体网络技术英文缩写
数据库建库英文
未成年人网络安全保护应入法
云顶手游福星在哪个服务器
消息队列数据怎么存数据库
上海人社无法访问服务器
网络安全综合管控系统