mybatis 聚合查询,统计不使用实体类映射的方法

XML文件中,Mybatis或MybatisPlus查询出的Sql结果未映射到对应得实体类上 xml文件中,Mybatis或者MybatisPlus查询出的Sql结果未映射到对应的实体类上 阅读详情

以按月统计奖金发放金额为例:

1、mapper文件:

<select id="selectAction" parameterType="string" resultType="map">
    ${sql}
   </select>

2.接口:

public List<Map> selectAction(@Param("sql") String sql);

3.controller:

//按月统计奖金发放金额
    @RequestMapping("manage/selbydate")
    public String selbydate(HttpSession session,Model model) {
        Userinfo userinfo = (Userinfo)session.getAttribute("loginAdmin");
        String sql="SELECT SUM(bonus) jiangjin ,DATE_FORMAT(createtime, '%Y-%m') riqi FROM salary where xueyuan='"+userinfo.getMoney()+"'GROUP BY DATE_FORMAT(createtime, '%Y-%m')" ;
        List<Map> maps = salaryDao.selectAction(sql);
        model.addAttribute("maps", maps);
        return "manage/salaryinfo/salarysumList";

    }

4.前端页面:

 <table class="layui-table">
        <tbody>
        <tr class="layui-bg-blue">
             <th>时间</th>
             <th>总额</th>
        </tr>


    <c:forEach items="${maps}" var="v">
        <tr>
            <td>${v.riqi}</td>
            <td>${v.jiangjin}元</td>

          
        </tr>
    </c:forEach>


        </tbody>
    </table>

5.显示效果:

 

 

MyBatis-Plus Lambda聚合查询:类型安全的统计报表开发实践 在Java后端开发中,聚合查询是处理数据统计与报表分析的核心技术,它通过COUNT、SUM、AVG等函数对数据进行摘要计算。其原理是将数据库中的原始记录按需分组并应用聚合函数,最终提炼出有价值的业务摘要信息。这项技术的价值在于能够高效地从海量数据中获取关键指标,避免在应用层进行繁琐且低效的数据遍历与计算。典型的应用场景包括用户行为分析、销售数据看板、运营统计报表等各类需要数据汇总的业务模块。随着ORM框架的发展,开发者对类型安全和编码体验提出了更高要求。MyBatis-Plus框架的Lambda聚合查询功能 阅读详情

相关推荐

MyBatis-Plus聚合查询分页排序实战:LambdaQueryWrapper的边界与解决方案

在数据库查询中,GROUP BY与聚合函数是实现数据统计的核心技术,常用于生成报表、分析业务指标。其原理是通过分组将数据行聚合成摘要行,并计算总和、计数等聚合值。这项技术的价值在于能从海量数据中快速提取关键统计信息,支撑决策分析。在Java开发中,ORM框架如MyBatis-Plus的LambdaQueryWrapper,通过类型安全的Lambda表达式简化了条件构造,提升了开发效率。然而,当涉及**聚合查询**并需要结合**分页排序**时,直接使用会遇到挑战,例如分页插件自动生成的COUNT查询在GROU

weixin_30843605的博客 395

mybatis无实体类获取对应表的数据

背景 在项目开发中会出现物理模型不确定,但是要根据模型去查询数据的情况,这样使用mybatis的Mapper对应xml文件来配合查询就有困难了。 这就说明需要具有一个扩展性的,并且不能将表名写死的方式来实现。 经过查找mybatis发现具有一个非预编译的机制可以实现。 xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://

charly 4420

别再写原生SQL了!MyBatis-Plus QueryWrapper的selectMaps()方法,搞定复杂统计查询

本文详细介绍了MyBatis-Plus中QueryWrapper的selectMaps()方法,帮助开发者告别原生SQL,实现复杂统计查询。通过实战案例展示了如何利用该方法进行条件判断、多维度分组统计和时间维度分析,提升代码可维护性和安全性。

weixin_42522953的博客 397

Mybatis-plus 实体类自定义查询注解

自定义查询注解是为实体类中某些实体属性作为查询条件定义的,在实体属性上引入注解可以实现自动生成查询条件QueryWrapper的功能。

qq_33775107的博客 4753

MyBatis 实战:巧用 group by 与 Map 封装,实现高效聚合查询

本文深入探讨了MyBatis中如何巧妙运用group by与Map封装实现高效聚合查询。通过对比循环查询与分组查询的性能差异,详细解析了Map接收结果集的常见陷阱及解决方案,并分享了多维度统计、动态维度处理等实战技巧,帮助开发者提升数据库查询效率与代码简洁性。

weixin_30983353的博客 168

FFmpeg音频转换避坑实录:为什么VOS的REC转MP3比WAV转MP3体积小一半?

本文深入解析了FFmpeg在VOS系统REC格式音频转换中的优化技巧,揭示了REC转MP3比WAV转MP3体积小一半的原因。通过分析REC格式的压缩特性、转码参数陷阱及FFmpeg调优方法,帮助开发者实现高效音频转换,显著降低存储成本。

weixin_30752699的博客 526

MyBatis学习之路——获取参数值和各种查询功能(查询实体类、List集合、Map集合)

mybatis中如何将参数传入sql语句中,以及各种查询功能的实现(查询对象、List集合、Map集合)

qq_32792547的博客 3255

物理信息神经网络(PINNs)在交通运输领域的应用

物理信息神经网络(PINNs)在交通运输领域的应用研究结合了数据驱动与物理模型约束,通过嵌入交通流守恒定律等物理信息,显著提升了交通状态估计与预测的精度。该技术仅需少量观测数据(流量、速度、密度等),即可实现高精度建模,尤其适用于数据稀疏场景。研究重点包括:交通状态估计与预测、参数辨识、交通控制优化等领域,同时面临计算成本高、物理模型依赖性等挑战。未来需解决大规模异构数据处理问题,以进一步推动智能交通系统发展。

qq_49609070的博客 940

SpringBoot+MybatisPlus无实体类,查询数据库

因为要查询表的数据,表的名称是从另一个表中取出的,查询哪个表不一定,所以想到了不写实体类查询。 为了防止字段内容为null时,字段不出现,在application.yml中加 mybatis-plus: configuration: call-setters-on-nulls: true #resultType的类型为java.util.map。发现字段为null时,让其仍有该字段。 接口 TableMapper.xml import java.util.HashMap; import ja

adminmy的博客 1万+

《30天入门 SAP BTP 开发》教程的目录和使用说明,建议收藏

本教程分为两部分:第一部分为SAP BTP入门系列,包含从基础概念到操作步骤的系统性学习内容,建议零基础用户按顺序学习;第二部分为专题文章集合,涵盖SAP BTP的多个技术点,适合已有基础的用户按需查阅。教程包含账号申请、Global Account操作、Java应用开发、AI工具使用等丰富内容,同时解答常见问题并提供实战案例。所有文章均附带详细链接,便于读者系统学习或针对性查阅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4371

英飞凌 AURIX TC3XX 系列单片机的链接文件

这篇介绍英飞凌 AURIX TC3XX 系列单片机的链接文件,主要是针对使用 SOTA 功能如何修改链接文件,完整地实现 SOTA 功能

大橙子的博客 4385

MyBatis 之分页四式传参与聚合、主键操作全解

本文详细介绍了MyBatis中三种常用的数据操作实现方式:1. 分页查询的四种传参方法(顺序传参、@Param注解、POJO对象和Map传参),重点推荐使用@Param注解和POJO传参方式;2. 聚合查询的实现,以统计用户数量为例说明;3. 主键回填技术,通过selectKey标签实现在插入数据后自动获取自增主键值。文章通过具体代码示例展示了各种方法的实现细节,强调代码规范性和开发效率的重要性,为MyBatis开发者提供了实用的技术参考。

艺杯羹的博客 1830

一步步教你使用 NVIDIA 推出的全新GPU加速求解器 cuOpt:解锁超高效率的求解体验

未完成

Linshaodan520的博客 866

解决 MyBatis 使用 JOIN 查询导致分页总数统计错误的问题

通过分离主表计数与关联查询的方案,我们既解决了分页总数统计错误的问题,又保证了关联数据的完整性。这种方案虽然需要多写一个计数查询,但在数据准确性和系统稳定性方面提供了更好的保障。对于不同的业务场景,开发者可以根据实际需求选择最合适的方案。在需要精确统计且关联数据重要的场景下,推荐使用分离查询的方案;在简单关联且对关联数据完整性要求不高的场景下,可以使用简化实现。

qq_62717719的博客 1793

采样率转化代码C++(有理倍数,升采样、降采样均可)

【代码】采样率转化(有理倍数,升采样、降采样均可)

goudahai的专栏 544

第3.1.3章 机器人第三方库实战总结:ROS 2 入门实战及和ROS1的对比,打通机器人开发的任督二脉

本文针对机器人SLAM开发中第三方库的学习痛点,重点介绍ROS 2在SLAM中的应用。文章首先对比ROS 1与ROS 2的核心差异,梳理ROS 2知识图谱,包括节点、话题、服务等核心概念。通过实战项目演示如何构建激光SLAM节点,结合代码详解运行流程。最后给出学习建议,强调动手实践的重要性,帮助开发者快速掌握ROS 2在SLAM开发中的关键应用。

行知SLAM 176

mybatis用count统计记录条数返回

最近做项目要实现一个这样的效果,然后要统计数量。思路:用组查询 guorp by 然后返回,返回结果犯难了,最后通过万能的百度了解 // 返回实体类 public class TypeNum implements Serializable { private Integer record; private String name; } // 映射文件 <resultMap id="types" type="com.kang.blog.entity.vo.TypeNum"&g.

weixin_46093962的博客 3348

Java后端新人入职第一天,环境搭建,全看这篇就行了

本文主要是记录一下一个新人java后端开发来到一个新公司,如何快速完成环境搭建,本文意旨一个小时搞定所有环境搭建,让你更快加入到新环境。包括Java、Maven、Tomcat、idea、Redis、Mysql等等,还附带对应安装资源包,我这里就以目前比较流行的版本进行详细说明。

qi_ming88的博客 9276

MyBatis-Plus 基于 Lambda 表达式实现班级成绩聚合分组查询

在日常开发中,MyBatis-Plus 提供了强大的聚合查询功能,可以方便地实现 COUNT、SUM、AVG、MIN、MAX 和 GroupBy 等统计操作。今天,我将分享如何使用 MyBatis-Plus 的 Lambda 表达式来实现班级成绩表的聚合分组查询,让代码更加简洁和优雅。

RodJohnsonDoctor的专栏 848

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

关于使用数据库JSON类型存储复杂对象(以MyBatis-Plus的JacksonTypeHandler实现实体类映射)的技术实践指南

JSON字段在动态结构和嵌套对象存储中具有显著优势,如提高灵活性、开发效率和数据一致性。技术实现上,MyBatis-Plus结合JacksonTypeHandler可简化JSON操作,但需注意配置细节。常见问题包括映射失效和嵌套对象反序列化异常,可通过正确注解和自定义TypeHandler解决。性能优化方面,可利用MySQL虚拟列索引和部分更新。JSON字段适用于动态数据场景,但高频查询字段建议拆分为独立列。合理使用JSON类型可提升开发效率,但需避免过度使用导致的查询复杂度问题。

Juneh111的博客 1907

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

MyBatis 接收数据库中没有的字段(记一次工作总结)

问题描述:浏览器页面想要通过E-hcart表格,展示一些数据。这些数据需要从数据库中计算而来。但是在数据库中没有的字段。比如说要查询某些记录。如车辆的在线数量,离线数量和无数据的数量。这些数据是通过MySql的聚合函数得到的。 sql语句如下:SELECT sum( updatetime > date_sub(now(), INTERVAL 0.5 DAY) ) A

chenfengbao的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

自定义数据聚合:基于MyBatis-Plus实现多维度数据统计和分析

在现代企业应用中,数据统计和分析是不可或缺的核心功能。传统的MyBatis开发中,实现复杂的数据聚合往往需要编写大量的原生SQL,这不仅增加了开发难度,还降低了代码的可维护性。你是否还在为以下问题而烦恼? - 需要频繁编写重复的GROUP BY、SUM、COUNT等聚合SQL - 多维度统计时SQL语句变得冗长复杂 - 聚合结果映射到Java对象过程繁琐 - 不同数据库方言的兼容性问题 MyB...

gitblog_00966的博客 784

Mybatis 征途:手写 SQL,高效聚合“福利方案”核心数据!

本文介绍了使用Mybatis实现福利方案管理员仪表盘统计接口的技术方案。该接口通过手写SQL实现跨实体聚合查询,主要统计维度包括:福利方案品牌数量、产品数量及货盘总值。技术实现上采用Mybatis的Mapper层进行数据库聚合计算,利用COUNT()和SUM()函数直接在数据库层面完成统计,避免N+1查询问题。同时处理NULL值和精度问题,确保数据准确性。通过多租户隔离(admin_id过滤)保障数据安全,所有计算都在数据库层面完成,提高了接口性能。文章通过流程图和时序图展示了Mybatis驱动下的数据流转

小丁的博客 1155

Mybatis之分组查询

在应用开发中,分组统计是非常经典的需求,在springboot+mybatis+mysql中实现分组统计。 学生信息统计场景,学生包含姓名、性别、年龄、地址等属性。 按性别分组统计数量 按地址分组统计数量 按地址、性别分组统计数量 1、mysql中sql语句 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARA

ldcaws的专栏 1万+

吃透 MyBatis Plus DQL:查询条件与字段 / 表映射超全指南

这篇文章深入浅出地讲解了MyBatisPlus的核心查询功能和字段映射技巧。主要内容包括:1)使用QueryWrapper构建精准查询(eq)、模糊查询(like)和范围查询(between);2)实现分组统计(groupBy)等复杂查询;3)通过@TableField解决字段名不一致问题,控制敏感字段查询权限;4)使用@TableName处理表名映射。这些技巧能显著提升开发效率,增强数据安全性,解决数据库与实体类命名不一致的问题,适合各个层次的开发者学习和应用。

2401_86509639的博客 871

Mybatis查询结果映射全解析:如何优雅处理数字类型和实体类List?

本文深入解析Mybatis在数字类型(Integer/BigDecimal)和实体类List映射中的核心机制与常见陷阱,提供金融、电商等场景下的解决方案和性能优化技巧。涵盖隐式转换风险、精度保卫、集合映射优化及自定义TypeHandler实践,适合中高级开发者提升Mybatis结果映射的稳定性和性能。

weixin_29214691的博客 415
上一篇: 项目分享--springboot在线购物商城(后端基于Springboot,前段为html,数据库为mysql)IDEA,eclipse都可以直接运行
下一篇: layui 使用confirm 弹出选择是否删除
qq_1061383457
博客等级 码龄8年 110粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值