一、OrderByDesc的作用
1、MybatisPlusOrderByDesc可以實現對查詢結果進行降序排列,方便快捷。
2、MybatisPlusOrderByDesc可以實現對分頁查詢結果的降序排列。
3、MybatisPlusOrderByDesc可以通過拼接sql語句進行操作。
二、MybatisPlusOrderByDesc的使用
1、使用註解
MybatisPlusOrderByDesc可以使用註解的方式進行添加排序。
public interface UserMapper extends BaseMapper {
@Select("select * from user order by age desc")
List selectAll();
}
可以在查詢語句中添加 order by age desc 就可以實現降序排列。
2、使用Wrapper對象
MybatisPlusOrderByDesc也可以使用Wrapper對象進行添加排序。
public List getPage(int pageNum, int pageSize) {
QueryWrapper wrapper = new QueryWrapper();
wrapper.orderByDesc("age").last("limit " + (pageNum - 1) * pageSize + "," + pageSize);
return userMapper.selectPage(new Page(pageNum, pageSize), wrapper).getRecords();
}
可以在Wrapper對象中通過orderByDesc函數添加降序排序條件,last函數可以追加複雜的排序或指令。
3、使用LambdaQueryWrapper
MybatisPlusOrderByDesc還可以使用LambdaQueryWrapper對象進行添加排序。
public List getPage(int pageNum, int pageSize) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper();
wrapper.orderByDesc(User::getAge).last("limit " + (pageNum - 1) * pageSize + "," + pageSize);
return userMapper.selectPage(new Page(pageNum, pageSize), wrapper).getRecords();
}
可以在LambdaQueryWrapper對象中通過orderByDesc函數添加降序排序條件,last函數可以追加複雜的排序或指令。
4、使用Mapper.xml配置文件
MybatisPlusOrderByDesc也可以通過Mapper.xml配置文件進行添加排序。
在select節點中添加order by age desc就可以實現降序排列。
select *
from user
order by age desc
三、MybatisPlusOrderByDesc的注意事項
1、MybatisPlusOrderByDesc不支持動態排序
MybatisPlusOrderByDesc只能對固定的排序條件進行操作,不能支持動態排序。
2、MybatisPlusOrderByDesc不支持嵌套對象排序
MybatisPlusOrderByDesc只能對當前對象進行排序操作,不能對嵌套對象進行排序操作。
3、MybatisPlusOrderByDesc只支持單一欄位的排序
MybatisPlusOrderByDesc只能對單一欄位進行降序排序,不能對多個欄位進行排序。
四、總結
MybatisPlusOrderByDesc可以方便地實現對查詢結果進行降序排列,使用簡單方便,但並不支持動態排序、嵌套對象排序以及多欄位排序等功能。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/157629.html
微信掃一掃
支付寶掃一掃