基于mybatis一对多查询内层排序的问题

 更新时间:2022年01月11日 16:40:48   作者:意田天  
这篇文章主要介绍了基于mybatis一对多查询内层排序的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。

mybatis一对多查询内层排序

<!--根据板块id查询所有主题->指标->维度-->
    <resultMap id="TitleDimensionMap" type="com.etouch.admincenter.bean.ZhmdDiagnosisTitleBean">
        <id column="title_id" property="id"/>
        <result column="title_name" property="titleName"/>
        <collection property="diagnosisKpiBeanList" ofType="com.etouch.admincenter.bean.ZhmdDiagnosisKpiBean">
            <id column="kpi_id" property="id"/>
            <result column="kpi_name" property="kpiName"/>
            <result column="kpi_type" property="kpiType"/>
            <result column="calculate_method" property="calculateMethod"/>
            <result column="is_add_description" property="isAddDescription"/>
            <result column="description_remind" property="descriptionRemind"/>
            <result column="input_description" property="inputDescription"/>
            <result column="kpi_industry_standard" property="kpiIndustryStandard"/>
            <result column="kpi_brand_standard" property="kpiBrandStandard"/>
            <result column="kpi_industry_standard_diff" property="kpiIndustryStandardDiff"/>
            <result column="kpi_brand_standard_diff" property="kpiBrandStandardDiff"/>
            <result column="input_description" property="inputDescription"/>
            <result column="kpi_description" property="kpiDescription"/>
            <collection property="dimensionBeans" ofType="com.etouch.admincenter.bean.ZhmdDiagnosisKpiDimensionBean">
                <id column="kpi_dimension_id" property="id"/>
                <result column="diagnosis_id" property="diagnosisId"/>
                <result column="dimension_name" property="dimensionName"/>
                <result column="dimension_value" property="dimensionValue"/>
            </collection>
        </collection>
    </resultMap>

可设置多个排序规则,这样展示到前端页面时,解决每次打开页面显示顺序都不一样的问题

<select id="getDimensionOneStep" resultMap="TitleDimensionMap">
     select
    zdt.id as title_id,zdt.title_name,
    zdk.id as kpi_id,zdk.kpi_name,zdk.kpi_type,zdk.calculate_method,zdk.is_add_description,zdk.description_remind,zdk.kpi_description,
    zdkd.id as kpi_dimension_id, zdkd.dimension_name,zdd.dimension_value,
    zdkpd.input_description
    from zhmd_diagnosis_title zdt
    left join zhmd_diagnosis_kpi zdk on zdk.diagnosis_title_id = zdt.id
    left join zhmd_diagnosis_kpi_dimension zdkd on zdkd.diagnosis_kpi_id = zdk.id
    left join zhmd_dimension_diagnosis zdd on  zdd.dimension_id = zdkd.id and zdd.diagnosis_id = #{diagnosisId}
    left join zhmd_diagnosis_kpi_problem_desc zdkpd on zdkpd.kpi_id = zdk.id and zdkpd.diagnosis_id =#{diagnosisId}
    where zdt.diagnosis_model_id = #{modelId}
    order by zdt.create_date desc,zdk.create_date desc,zdkd.dimension_sort asc
</select>

postman查询结果

mybatis多排序问题

在很多业务场景中,会有多排序问题,mybatis支持多排序,写法如下:

ORDER BY contract.contractCount DESC, reward.rewardTotal DESC, new_job.newJobCount DESC

这种写法是根据最左边的字段进行第一排序,如果第一排序字段有并列的,则根据第二字段再去排一次,依次类推。

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

相关文章

  • Java中的HashSet详解和使用示例_动力节点Java学院整理

    Java中的HashSet详解和使用示例_动力节点Java学院整理

    HashSet 是一个没有重复元素的集合。接下来通过实例代码给大家介绍java中的hashset相关知识,感兴趣的朋友一起看看吧
    2017-05-05
  • Java HTTP协议收发MQ 消息代码实例详解

    Java HTTP协议收发MQ 消息代码实例详解

    这篇文章主要通过实例代码为大家详细介绍了如何在Java 环境下使用 HTTP 协议收发 MQ 消息,需要的朋友可以参考下
    2017-04-04
  • SpringBoot 进行限流的操作方法

    SpringBoot 进行限流的操作方法

    限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。本文重点给大家介绍SpringBoot 进行限流的操作方法,感兴趣的朋友一起看看吧
    2021-10-10
  • java中怎样表示圆周率

    java中怎样表示圆周率

    这篇文章主要介绍了java中怎样表示圆周率问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • JAVA中单元测试的常用方式(小结)

    JAVA中单元测试的常用方式(小结)

    这篇文章主要介绍了JAVA中单元测试的常用方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • SpringBoot中的FailureAnalyzer使用详解

    SpringBoot中的FailureAnalyzer使用详解

    这篇文章主要介绍了SpringBoot中的FailureAnalyzer使用详解,Spring Boot的FailureAnalyzer是一个接口,它用于在Spring Boot应用启动失败时提供有关错误的详细信息,这对于开发者来说非常有用,因为它可以帮助我们快速识别问题并找到解决方案,需要的朋友可以参考下
    2023-12-12
  • Spring Boot自定义favicon实现方法实例解析

    Spring Boot自定义favicon实现方法实例解析

    这篇文章主要介绍了Spring Boot自定义favicon实现方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • java map遍历的四种方法总结

    java map遍历的四种方法总结

    以下是我整理的关于java中map的遍历的四种方法。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • 解决jpa查询语句自动变成了update的问题

    解决jpa查询语句自动变成了update的问题

    这篇文章主要介绍了解决jpa查询语句自动变成了update的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Spring-webflux 响应式编程的实例详解

    Spring-webflux 响应式编程的实例详解

    Spring 提供了两个并行堆栈,一种是基于带有 Spring MVC 和 Spring Data 结构的 Servlet API,另一个是完全反应式堆栈,它利用了 Spring WebFlux 和 Spring Data 的反应式存储库,这篇文章主要介绍了Spring-webflux 响应式编程,需要的朋友可以参考下
    2022-09-09

最新评论