基于mybatis一對多查詢內(nèi)層排序的問題
更新時間:2022年01月11日 16:40:48 作者:意田天
這篇文章主要介紹了基于mybatis一對多查詢內(nèi)層排序的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
mybatis一對多查詢內(nèi)層排序
<!--根據(jù)板塊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>可設置多個排序規(guī)則,這樣展示到前端頁面時,解決每次打開頁面顯示順序都不一樣的問題
<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查詢結(jié)果

mybatis多排序問題
在很多業(yè)務場景中,會有多排序問題,mybatis支持多排序,寫法如下:
ORDER BY contract.contractCount DESC, reward.rewardTotal DESC, new_job.newJobCount DESC
這種寫法是根據(jù)最左邊的字段進行第一排序,如果第一排序字段有并列的,則根據(jù)第二字段再去排一次,依次類推。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關文章
Java實戰(zhàn)之酒店人事管理系統(tǒng)的實現(xiàn)
這篇文章主要介紹了如何用Java實現(xiàn)酒店人事管理系統(tǒng),文中采用的技術有:JSP、Spring、SpringMVC、MyBatis等,感興趣的小伙伴可以學習一下2022-03-03
java WebSocket實現(xiàn)聊天消息推送功能
這篇文章主要為大家詳細介紹了java WebSocket實現(xiàn)聊天消息推送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
maven多profile 打包下 -P參和-D參數(shù)的實現(xiàn)
這篇文章主要介紹了maven多profile 打包下 -P參和-D參數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
Java中List<T> Map與Map List<T>的區(qū)別小結(jié)
本文主要介紹了Java中List<T> Map與Map List<T>的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08
淺談SpringBoot集成Quartz動態(tài)定時任務
這篇文章主要介紹了SpringBoot集成Quartz動態(tài)定時任務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04

