【Mybatis-plus-join】 orderBy 顺序排列
【Mybatis-plus-join】 orderBy 顺序排列
Metadata
title: 【Mybatis-plus-join】 orderBy 顺序排列
date: 2023-01-22 19:05
tags:
- 行动阶段/完成
- 主题场景/组件
- 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
- 细化主题/Module/Mybatis-plus-join
categories:
- Mybatis-plus-join
keywords:
- Mybatis-plus-join
description: 【Mybatis-plus-join】 orderBy 顺序排列
【Mybatis-plus-join】 orderBy 顺序排列
// 根据index下标进行排列排序顺序
// @param condition 是否执行 @param isAsc 是否正序
// @param index 下标 @param column 列
orderBy(boolean condition, boolean isAsc, R column, int index)
// 手写排序SQL @param condition 是否执行 @param sql SQL
orderBySql(boolean condition, String sql, int index);
// 根据index下标进行排列排序顺序
// @param condition 是否执行 @param isAsc 是否正序
// @param index 下标 @param column 列
orderBy(boolean condition, boolean isAsc, R column, int index)
// 手写排序SQL @param condition 是否执行 @param sql SQL
orderBySql(boolean condition, String sql, int index);
JoinLambdaWrapper<Users> wrapper = joinLambdaQueryWrapper(Users.class)
.orderByDesc(Users::getAgeId) // 如果存在有下标的排序和无下标的排序,无下标的排序,会被存在于最前面
.leftJoin(UsersAge.class, UsersAge::getId, Users::getAgeId)
.orderByAsc(UsersAge::getId, 2)
.orderBySql("users.user_id asc", 0) // 可以手写排序SQL,处理一些复杂的操作,这个orderBySql字表和主表中都可以存在
.orderBySql("users_age.age_name desc", 1)
.end();
return super.joinList(wrapper, UsersVo.class);
SELECT users.content_json, users_age.content_json_age as contentJsonAge
FROM users as users
LEFT JOIN users_age as users_age ON users_age.id = users.age_id
ORDER BY users.age_id DESC,users.user_id asc,users_age.age_name desc,users_age.id ASC;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蝶梦庄生!
评论