iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >MybatisPlus实现分页查询和动态SQL查询的示例代码
  • 307
分享到

MybatisPlus实现分页查询和动态SQL查询的示例代码

2024-04-02 19:04:59 307人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、描述二、实现方式三、 总结一、描述 实现下图中的功能,分析一下该功能,既有分页查询又有根据计划状态、开始时间、公司名称进行动态查询。 二、实现方式 Controller层

一、描述

实现下图中的功能,分析一下该功能,既有分页查询又有根据计划状态、开始时间、公司名称进行动态查询。

在这里插入图片描述

二、实现方式

Controller层


   
    @PostMapping("/selectPlanByStateTimeCompany")
    public Page<CrmCustomerPlan> selectPlanByStateTimeCompany(@RequestParam(required = false,defaultValue = "1")int limit, @RequestParam(required = false,defaultValue = "1")int page, @RequestParam(required = true) Long userId,@RequestParam(required = false,defaultValue = "0") int planState,@RequestParam(required = false) String planStartTime,@RequestParam(required = false) Long emtCode) {
        //获取该专员下所有状态为未开始的计划
        List<CrmCustomerPlan> myPlanList = crmCustomerPlanService.selectNoStartPlan(userId);
        if (StringUtil.isNotEmpty(planStartTime)){
            //判断计划的开始时间和当前时间
            DateTimeFORMatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            LocalDateTime planTime = LocalDateTime.parse(planStartTime, dtf);
            //存放已逾期的计划
            List<CrmCustomerPlan> overDuePlan = new ArrayList<>();
            for (CrmCustomerPlan customerPlan : myPlanList) {
                if (LocalDateTime.now().isAfter(planTime)) {
                    //当前时间在计划时间之后,说明过了计划时间,这时候我们要将它的状态改为已逾期
                    customerPlan.setPlanState(PlanStateEnum.OVERDUE.getCode());
                    overDuePlan.add(customerPlan);
                }
            }
            if (overDuePlan.size() > 0) {
                //遍历完之后,我们就可以对数据进行更改了
                crmCustomerPlanService.updateBatchById(overDuePlan);
            }
        }
        //接下来,就是对数据进行查询
        return crmCustomerPlanService.selectPlanByStateTimeCompany(limit,page,userId, planState, planStartTime, emtCode);
    }

在Controller中有limit、page。limit为每页限制的数量、page为第几页

Service层


    
   @Override
   public Page<CrmCustomerPlan> selectPlanByStateTimeCompany(int limit,int page,Long userId, int planState, String planStartTime, Long emtCode) {
       Page<CrmCustomerPlan> pagelimit= new Page(page,limit);
       QueryWrapper<CrmCustomerPlan> crmCustomerPlanQueryWrapper = new QueryWrapper<>();
       crmCustomerPlanQueryWrapper.eq("create_user_id", userId);
       if (planState!=0){
           crmCustomerPlanQueryWrapper.eq("plan_state", planState);
       }
       if (StringUtil.isNotEmpty(planStartTime)){
           crmCustomerPlanQueryWrapper.eq("plan_start_time", planStartTime);
       }
       if (StringUtil.isNotEmpty(String.valueOf(emtCode))){
           crmCustomerPlanQueryWrapper.eq("emt_code", emtCode);
       }
       return crmCustomerPlanMapper.selectPage(pagelimit,crmCustomerPlanQueryWrapper);
   }

在Service层中,可以通过if和QueryWrapper实现动态sql的查询。
分页,用到了Page对象,一定要是mybatis的。然后调用selectPage,将对象和查询条件传入进去即可。

三、 总结

MybatisPlus是真的好用,省了我们写很多的SQL语句 以及配置信息
Mybatis的分页配置信息


  
  @Bean
  public MybatisPlusInterceptor mybatisPlusInterceptor() {
      MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
      mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.Mysql));
      return mybatisPlusInterceptor;
  }

到此这篇关于MybatisPlus实现分页查询和动态SQL查询的示例代码的文章就介绍到这了,更多相关MybatisPlus 分页查询和动态SQL查询内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: MybatisPlus实现分页查询和动态SQL查询的示例代码

本文链接: https://www.lsjlt.com/news/137264.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MybatisPlus实现分页查询和动态SQL查询的示例代码
    目录一、描述二、实现方式三、 总结一、描述 实现下图中的功能,分析一下该功能,既有分页查询又有根据计划状态、开始时间、公司名称进行动态查询。 二、实现方式 Controller层...
    99+
    2022-11-12
  • MySQL实现查询分位值的示例代码
    目录背景业务背景思考效果参考背景 分位值的概念 分位值:分位值(Quartile)是一种用于描述数据分布的统计概念,在统计学和数据分析中经常被用到。一般情况下,分位值分成四个等份,分别为第一分位数(Q1)、第二分位数(Q...
    99+
    2023-04-24
    MySQL 查询分位值 MySQL 分位值
  • C# winform分页查询的实现示例
    1、功能需求 本实例将通过c# winform实现简单的分页功能,需要的基础知识有SQL语句,c#语言基础以及c# winform的一些简单知识。 2、界面设计 这是一个简单的分页查...
    99+
    2022-11-12
  • MyBatis-Plus 分页查询的实现示例
    方法: 使用selectPage()方法,第一个参数是传入分页方法(传入当前页和当前显示多少条数据),第二个参数是传入查询条件(如果查询全部的话,可以传null)。 前提: 表中的...
    99+
    2022-11-13
  • MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)
    目录 1 MyBatisPlusConfig2 UserPagination3 Mapper3.1 UserMapper.java3.2 UserMap...
    99+
    2022-11-12
  • 详解MyBatisPlus如何实现分页和查询操作
    目录1.定义查询字段2.修改分页函数接口3.修改分页实现方法4.修改控制层5.效果体验《SpringBoot整合MybatisPlus实现增删改查功能》在这篇文章中,我们详细介绍了分...
    99+
    2022-11-13
  • php如何实现查询分页显示页码
    本篇内容主要讲解“php如何实现查询分页显示页码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何实现查询分页显示页码”吧!1. 查询分页的基本原理一个完整的分页功能,需要考虑查询条件、分...
    99+
    2023-07-05
  • mybatis的动态SQL和模糊查询实例详解
    现在以一个例子来介绍mybatis的动态SQL和模糊查询:通过多条件查询用户记录,条件为姓名模糊匹配,并且年龄在某两个值之间。 新建表d_user: create table d...
    99+
    2022-11-11
  • JPA原生SQL分页查询逻辑的示例分析
    这篇文章将为大家详细讲解有关JPA原生SQL分页查询逻辑的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JPA原生SQL(自定义SQL)分页查询JPA自己写SQL查询的话,分页还稍微麻烦经过测试下...
    99+
    2023-06-21
  • Sqlserver的SQL语句实现分页查询
    在应用程序的开发中,如果数据库中的数据量过于的庞大,则需要针对查询数据做分页处理,取出对应分页中的数据,在Sqlserver分页的语句写法中,有两种比较常用,一种是数据表中含有自增量Id的情况,可以根据Id...
    99+
    2022-10-18
  • Layui实现多条件查询的示例代码
    最近做一个档案系统,发现字段超多 带分页的多条件查询(分页需要后端分页,传page给后端才可实现,前端无法直接实现) 当我们点击搜索按钮时会筛选出输入值的相关数据,多条件查询是建立在...
    99+
    2022-11-12
  • Mybatis-Plus支持GBase8s分页查询的实现示例
    MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。在最新版 MP 中,已明确支持 南...
    99+
    2023-01-09
    Mybatis-Plus GBase8s分页查询 Mybatis-Plus 分页查询
  • 详述 DB2 分页查询及 Java 实现的示例
    博主说:有时候,我们需要对数据库中现有的数据进行大量处理操作(例如表中的某个字段需要全部更新等),如果直接使用select * from tableName很容易出现问题,因此我们可以选择分页查询,批量处理数据。DB2 star...
    99+
    2023-05-31
    db2 分页 查询
  • MyBatis-Plus多表联查的实现方法(动态查询和静态查询)
    目录建库建表依赖配置代码测试1.静态查询2.动态查询 1.不传条件2.传条件建库建表 DROP DATABASE IF EXISTS mp; CREATE DATA...
    99+
    2022-11-13
  • mybatis-plus实现自定义SQL、多表查询与多表分页查询语句实例
    目录前言1、自定义SQL2、多表查询3、多表分页查询4、多表分页条件查询总结前言 本文介绍了在mybatis-plus中如何实现:自定义SQL语句,多表查询语句,多表分页查询语句 在...
    99+
    2022-11-13
  • sqlserver多表联合查询和多表分页查询的代码讲解
    这篇文章主要为大家详细介绍了sqlserver多表联合查询和多表分页查询的方法,图文详解容易学习,配合代码阅读理解效果更佳,非常适合初学者入门,感兴趣的小伙伴们可以参考一下。多表联查:select...
    99+
    2022-10-18
  • LyScript实现指令查询功能的示例代码
    目录搜索内存中的机器码搜索内存反汇编代码通过对LyScript自动化插件进行二次封装,实现从内存中读入目标进程解码后的机器码,并通过Python代码在这些机器码中寻找特定的十六进制字...
    99+
    2022-11-11
  • jQuery条件分页代替离线查询的示例分析
    这篇文章主要介绍jQuery条件分页代替离线查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!import javax.persistence.criteria....
    99+
    2022-10-19
  • SQL实现分页查询的方法是什么
    SQL实现分页查询的方法主要有两种:1. 使用LIMIT和OFFSET关键字:```sqlSELECT * FROM tab...
    99+
    2023-08-15
    SQL
  • SQL 窗口函数实现高效分页查询的案例分析
    🍺不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。学至于行之而止矣。——荀子 大家好!我是只谈技术不剪发的 Tony 老师。 在使用 SQL 语句实...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作