Java Fluent Mybatis聚合查询与apply方法流程的示例分析
发表于:2024-10-23 作者:千家信息网编辑
千家信息网最后更新 2024年10月23日,这篇文章将为大家详细讲解有关Java Fluent Mybatis聚合查询与apply方法流程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据准备为了聚
千家信息网最后更新 2024年10月23日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安全错误
数据库的锁怎样保障安全
最佳证据总结查哪些数据库
梦幻西游限时服务器哪个最好
云上的数据库实例技术
欧洲十大科技互联网公司
网络技术师就业前景
阿里的网络安全员
丰台服务器回收报价单
网络安全管理平台demo
贵州玉屏街头宣讲网络安全知识
数据库中double如何使用
bu软件开发
亲子共学网络安全
服务器支持ipsec
对于网络安全犯罪的正确认识
通辽红军小学网络安全教育
服务器3dmax
晨晨网络技术服务
sybase数据库odbc
上海特定网络技术转让产品
初中毕业学什么网络技术比较好
piwigo无法连接到数据库
杭州智学互联网科技有限
广西人社网络安全
网络安全现状分析
2018网络安全试卷8
关于不动产地籍数据库的意见
移动数据服务器上市公司
服务器租赁市场规模
数据库有较高的安全
云服务器租用什么意思