我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mybatis-plus自定义排序的实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mybatis-plus自定义排序的实现

需求:

  • 先时间升序排序,相同的时间在按状态排序,
  • 状态的顺序为1 在线 4 潜伏 2 隐身 3 离开,
  • 状态相同在按姓名升序排序
  • 对排序好的数据进行分页
  • 运用mybatis-plus中QueryWrapper

1.导入依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

2.配置文件

spring:
  # 配置数据源信息
  datasource:
    # 配置数据源类型
    type: com.zaxxer.hikari.HikariDataSource
    # 配置连接数据库信息
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456
 
mybatis-plus:
  configuration: # 配置MyBatis日志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

3.创建分页需要的缓存

@Configuration
@MapperScan("scan.your.mapper.package")
public class  MybatisPlusConfig {
    
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
        return interceptor;
    }
 
}

4.创建实体类

@Data
public class User {
    private Integer id;
    private String name;
    private Integer age;
    private String email;
    private Integer state;//1 在线 4 潜伏 2 隐身 3 离开
    private Date time;
}

5.mapper

public interface UserMapper extends BaseMapper<User> {
}

在启动类上加了@MapperScan(“com.example.mapper”)

6.测试

  @Test
    void selectUser(){
        QueryWrapper<User> wrapper=new QueryWrapper<>();
        //时间升序排序
        wrapper.lambda().orderByAsc(User::getTime);
        //状态的自定义排序,和姓名排序
        wrapper.orderByAsc(" field(state,1,4,2,3)");
        wrapper.lambda().orderByAsc(User::getName);
        //分页
        Page page=new Page<>();
        page.setSize(3);//每页的长度
        page.setPages(1);//第几页
        userMapper.selectPage(page,wrapper);
    }

7.结果

img

 到此这篇关于mybatis-plus自定义排序的实现的文章就介绍到这了,更多相关mybatis-plus 自定义排序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mybatis-plus自定义排序的实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mybatis-plus自定义排序的实现

本文主要介绍了mybatis-plus自定义排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-09

MyBatis-Plus自定义通用的方法实现

MP自带的条件构造器虽然很强大,有时候也避免不了写稍微复杂一点业务的sql,本文主要介绍了MyBatis-Plus自定义通用的方法实现,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-19

MyBatis Plus分页时怎么实现排序

本篇内容主要讲解“MyBatis Plus分页时怎么实现排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MyBatis Plus分页时怎么实现排序”吧!简介分页时排序的方法后端OrderIte
2023-06-29

DataGridView中怎么实现自定义排序

要在DataGridView中实现自定义排序,可以通过实现DataGridView的SortCompare事件来实现。SortCompare事件在DataGridView中的两个单元格需要比较时触发,可以在该事件中自定义比较方法。下面是一
DataGridView中怎么实现自定义排序
2024-03-12

mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解

MyBatis-Plus是一个MyBatis(opensnewwindow)的增强工具,在MyBatis的基础上只做增强不做改变,MyBatis可以无损升级为MyBatis-Plus,这篇文章主要给大家介绍了关于mybatis-plus自带QueryWrapper自定义sql实现复杂查询的相关资料,需要的朋友可以参考下
2022-11-13

Python3怎么实现自定义比较排序

本篇内容介绍了“Python3怎么实现自定义比较排序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!自定义比较排序/运算符Python3和Py
2023-06-29

Python 自定义类的排序

Python 里面自定义类的时候, 一般需要重写几个方法, __init__ 一般是构造函数这里面有一个__cmp__() 是比较函数, 重写它的时候,一定要记得返回值有三个,0,±1  !! 而不是返回0,1   这里没有注意,导致在排序
2023-01-31

Python自定义类的数组排序实现代码

首先把实现方法写出来,其实很简单,只需要一句代码即可:productlist.sort(lambda p1, p2:cmp(p1.getPrice(), p2.getPrice()))数组productlist中存储的是自定义类Produc
2022-06-04

MyBatis自定义映射resultMap的实现

本文主要介绍了MyBatis自定义映射resultMap的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-01

Python实现快速排序和插入排序算法及自定义排序的示例

一、快速排序快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方
2022-06-04

java中Comparable接口排序怎么实现自定义

今天就跟大家聊聊有关java中Comparable接口排序怎么实现自定义,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实例如下所示:class Student implements
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录