mybatis如何返回某列的最大值

 更新时间:2021年07月22日 09:45:22   作者:、唐城  
这篇文章主要介绍了mybatis如何返回某列的最大值操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatis返回某列的最大值

Mapper文件中sql:

<select id="queryMaxId" resultType="Integer"> 
select Max(id) as id from table
<select>

resultType:以数据库对应ID属性自定义

SQL

select * from table  where id=(select MAX(id) from table ) 

mybatis返回最大值max,最小值min,vag,count函数和其他字段等对应接口返回值的处理方式

我们在xml文件写sql同时进行数据库查询max,min,sum,avg,count函数或其他字段,不清楚返回值怎么获取,看下去,你不会后悔O(∩_∩)O

面对这些求最大值,最小值,平均值或者夹杂着其他字段等,单个出现就正常返回Integer或者Long或着String就可以

如果同时出现很多个,那最简单的方法就是封装一个实体对象

案例:

/**
 * 封装的实体对象,属性对应你的查询结果字段,根据自己的情况添加
 */
@Data
public class MaxAndMinVA implements Serializable {
    private static final long serialVersionUID = 1L; 
    private String address; 
    private Double maxVoltage; 
    private Double maxElectricity; 
    private Double minVoltage; 
    private Double minElectricity;
}

在mysql中,很简单,直接正常写sql就可以

举例:

select device.address,max(va.voltage),max(va.electricity),min(va.voltage),min(va.electricity) from device left join va on device.id=va.device_id GROUP BY va.device_id

在xml文件中,需要注意:每个计算的最大值,最小值需要起别名(这个别名必须对应你的实体表属性名,不然查询出来的是null),数据库中的字段不用起别名,例如address,起别名只针对求最大值,平均值等

举例:

<select id="va" resultType="com.cn.VO.MaxAndMinVA"> 
 select device.address,max(va.voltage) as maxVoltage,max(va.electricity) as maxElectricity,min(va.voltage) as minVoltage,min(va.electricity) as minElectricity from device left join va on device.id=va.device_id GROUP BY va.device_id
</select>

mapper接口:(我查询的是一堆结果对象,如果你查询一个,也可以传参数,自己看着改吧)

List<MaxAndMinVA> va();

这时就正常测试就可以看到结果了

重点提醒:xml文件中sql起别名as一定要对应实体类属性名,不然会查询出null(不信你可以试一下)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot MongoCustomConversions自定义转换方式

    SpringBoot MongoCustomConversions自定义转换方式

    这篇文章主要介绍了SpringBoot MongoCustomConversions自定义转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 一文搞懂Spring中的注解与反射

    一文搞懂Spring中的注解与反射

    这篇文章主要为大家介绍了Spring中的注解与反射的原理与实现,文中的示例代码讲解详细,对我们了解Spring有一定的帮助,需要的可以参考一下
    2022-06-06
  • Spring AOP 对象内部方法间的嵌套调用方式

    Spring AOP 对象内部方法间的嵌套调用方式

    这篇文章主要介绍了Spring AOP 对象内部方法间的嵌套调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java Spring Cloud 负载均衡详解

    Java Spring Cloud 负载均衡详解

    这篇文章主要介绍了Spring Cloud负载均衡及远程调用实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • SpringCloud Alibaba 基本开发框架搭建过程

    SpringCloud Alibaba 基本开发框架搭建过程

    这篇文章主要介绍了SpringCloud Alibaba 基本开发框架搭建过程,开发工具选用的idea,本文通过图文实例相结合给大家分享搭建全过程,需要的朋友可以参考下
    2021-06-06
  • MyBatis实现SQL映射文件

    MyBatis实现SQL映射文件

    映射器是 MyBatis 中最复杂并且是最重要的组件,本文主要介绍了MyBatis实现SQL映射文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Spring依赖注入和控制反转详情

    Spring依赖注入和控制反转详情

    这篇文章主要介绍了Spring依赖注入和控制反转详情,控制反转是面向对象编程中使用的术语,通过该术语,对象或对象集的控制权被赋予框架或由框架提供的容器。下文更多相关内容需要的小伙伴可以参考一下
    2022-05-05
  • Java接口名称冲突问题的讲解

    Java接口名称冲突问题的讲解

    今天小编就为大家分享一篇关于Java接口名称冲突问题的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Java执行可执行文件的三种方法详解

    Java执行可执行文件的三种方法详解

    这篇文章主要为大家详细介绍了Java中执行可执行文件的三种方法,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考一下
    2024-02-02
  • Java Lombok简介、使用、工作原理、优缺点

    Java Lombok简介、使用、工作原理、优缺点

    这篇文章主要介绍了Java Lombok简介、使用、工作原理、优缺点的相关资料,帮助大家更好的理解和学习使用Java Lombok,感兴趣的朋友可以了解下
    2021-03-03

最新评论