欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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:以數(shù)據(jù)庫對應ID屬性自定義

SQL

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

mybatis返回最大值max,最小值min,vag,count函數(shù)和其他字段等對應接口返回值的處理方式

我們在xml文件寫sql同時進行數(shù)據(jù)庫查詢max,min,sum,avg,count函數(shù)或其他字段,不清楚返回值怎么獲取,看下去,你不會后悔O(∩_∩)O

面對這些求最大值,最小值,平均值或者夾雜著其他字段等,單個出現(xiàn)就正常返回Integer或者Long或著String就可以

如果同時出現(xiàn)很多個,那最簡單的方法就是封裝一個實體對象

案例:

/**
 * 封裝的實體對象,屬性對應你的查詢結果字段,根據(jù)自己的情況添加
 */
@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),數(shù)據(jù)庫中的字段不用起別名,例如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接口:(我查詢的是一堆結果對象,如果你查詢一個,也可以傳參數(shù),自己看著改吧)

List<MaxAndMinVA> va();

這時就正常測試就可以看到結果了

重點提醒:xml文件中sql起別名as一定要對應實體類屬性名,不然會查詢出null(不信你可以試一下)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解Java多線程與并發(fā)

    詳解Java多線程與并發(fā)

    多線程是一個進程在執(zhí)行過程中產(chǎn)生多個更小的程序單元,這些更小的單元稱為線程,這些線程可以同時存在,同時運行,一個進程可能包含多個同時執(zhí)行的線程。多線程是實現(xiàn)并發(fā)機制的一種有效手段。進程和線程一樣,都是實現(xiàn)并發(fā)的一個基本單位。
    2021-06-06
  • 詳解如何在spring中創(chuàng)建全局異常處理器

    詳解如何在spring中創(chuàng)建全局異常處理器

    全局異常處理器在實際項目開發(fā)中是一個很重要的工具,對保證代碼的正常運行有很重要的作用,所以下面來講一下如何在spring中創(chuàng)建一個全局異常處理器,感興趣的的朋友可以參考下
    2023-12-12
  • Spring啟動過程源碼分析及簡介

    Spring啟動過程源碼分析及簡介

    本文是通過AnnotationConfigApplicationContext讀取配置類來一步一步去了解Spring的啟動過程。本文重點給大家介紹Spring啟動過程源碼分析及基本概念,感興趣的朋友一起看看吧
    2021-10-10
  • Junit測試多線程無法得到結果的問題解決

    Junit測試多線程無法得到結果的問題解決

    在測試一個文件轉換工具類的時候,發(fā)生一個有趣的現(xiàn)象,同樣的輸入,使用Main函數(shù)可以正確解析,得到結果,使用Junit卻無法得到結果,神奇的是,即使捕獲Throwable,也無法捕獲到仍和異常。
    2021-05-05
  • JavaWeb中的組件Filter過濾器解析

    JavaWeb中的組件Filter過濾器解析

    這篇文章主要介紹了JavaWeb中的組件Filter過濾器解析,Filter過濾器是一種用于處理和轉換數(shù)據(jù)的工具,常用于Web開發(fā)中,它可以在請求到達服務器之前或響應返回給客戶端之前對數(shù)據(jù)進行預處理或后處理,需要的朋友可以參考下
    2023-10-10
  • Spring Bean配置方式總結

    Spring Bean配置方式總結

    定義Spring Bcan的3種方式分別是:基于XML 的方式配置、基于注解掃播方式配置、基于元數(shù)據(jù)類的配置,本文就通過代碼示例給大家詳細講講這三種配置方式,需要的朋友可以參考下
    2023-12-12
  • (starters)springboot-starter整合阿里云datahub方式

    (starters)springboot-starter整合阿里云datahub方式

    這篇文章主要介紹了(starters)springboot-starter整合阿里云datahub方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java并發(fā)之嵌套管程鎖死詳解

    Java并發(fā)之嵌套管程鎖死詳解

    這篇文章主要介紹了Java并發(fā)之嵌套管程鎖死詳解,涉及嵌套管程鎖死的發(fā)生,實例等相關內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Spring boot項目使用thymeleaf模板過程詳解

    Spring boot項目使用thymeleaf模板過程詳解

    這篇文章主要介紹了Spring boot項目使用thymeleaf模板過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Java的MyBatis框架中MyBatis Generator代碼生成器的用法

    Java的MyBatis框架中MyBatis Generator代碼生成器的用法

    這篇文章主要介紹了Java的MyBatis框架中Mybatis Generator代碼生成器的用法,Mybatis Generator主要被用來生成繁瑣的配置文件來提高效率,需要的朋友可以參考下
    2016-04-04

最新評論