一、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/n/157629.html
微信扫一扫
支付宝扫一扫