Mybatis-Plus时间范围查询方式详解

yizhihongxing

Mybatis-Plus时间范围查询方式详解

Mybatis-Plus是Mybatis的增强版,提供了多样化的查询方式,其中涉及到时间范围查询的内容,本篇文章就来详细讲解一下Mybatis-Plus中时间范围查询的使用方法。

1. 时间范围查询方式

Mybatis-Plus提供了4种时间范围查询方式,包括:

  • 普通方式:通过where条件语句查询
  • Lambda方式:通过Lambda表达式查询
  • QueryWrapper方式:通过QueryWrapper对象查询
  • EntityWrapper方式:通过EntityWrapper对象查询

接下来我们将详细介绍每种方式。

1.1 普通方式

使用普通方式需要在WHERE条件中手动添加比较符、日期格式等,示例如下:

SELECT * FROM table WHERE create_time > '2021-01-01 00:00:00' AND create_time < '2021-02-01 00:00:00'

Mybatis-Plus对应的代码如下:

String beginTime = "2021-01-01 00:00:00";
String endTime = "2021-02-01 00:00:00";
QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.between("create_time", beginTime, endTime);
List<Entity> entityList = entityMapper.selectList(queryWrapper);

1.2 Lambda方式

使用Lambda方式可以通过Lambda表达式比较方便地进行时间范围查询,示例如下:

LocalDateTime beginTimeL = LocalDateTime.parse("2021-01-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime endTimeL = LocalDateTime.parse("2021-02-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LambdaQueryWrapper<Entity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.between(Entity::getCreateTime, beginTimeL, endTimeL);
List<Entity> entityList = entityMapper.selectList(lambdaQueryWrapper);

1.3 QueryWrapper方式

使用QueryWrapper方式可以通过QueryWrapper对象比较方便地进行时间范围查询,示例如下:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime beginTimeL = LocalDateTime.parse("2021-01-01 00:00:00", formatter);
LocalDateTime endTimeL = LocalDateTime.parse("2021-02-01 00:00:00", formatter);
QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.between("create_time", beginTimeL, endTimeL);
List<Entity> entityList = entityMapper.selectList(queryWrapper);

1.4 EntityWrapper方式

使用EntityWrapper方式可以通过EntityWrapper对象比较方便地进行时间范围查询,示例如下:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime beginTimeL = LocalDateTime.parse("2021-01-01 00:00:00", formatter);
LocalDateTime endTimeL = LocalDateTime.parse("2021-02-01 00:00:00", formatter);
EntityWrapper<Entity> entityWrapper = new EntityWrapper<>();
entityWrapper.between("create_time", beginTimeL, endTimeL);
List<Entity> entityList = entityMapper.selectList(entityWrapper);

2. 示例

这里提供两个示例,一个是使用Lambda方式进行时间范围查询的示例,另一个是使用EntityWrapper方式进行时间范围查询的示例。

2.1 示例1

使用Lambda方式实现查询2021年1月1日到2月1日之间的数据:

LocalDateTime beginTimeL = LocalDateTime.parse("2021-01-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime endTimeL = LocalDateTime.parse("2021-02-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LambdaQueryWrapper<Entity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.between(Entity::getCreateTime, beginTimeL, endTimeL);
List<Entity> entityList = entityMapper.selectList(lambdaQueryWrapper);

2.2 示例2

使用EntityWrapper方式实现查询2021年1月1日到2月1日之间的数据:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime beginTimeL = LocalDateTime.parse("2021-01-01 00:00:00", formatter);
LocalDateTime endTimeL = LocalDateTime.parse("2021-02-01 00:00:00", formatter);
EntityWrapper<Entity> entityWrapper = new EntityWrapper<>();
entityWrapper.between("create_time", beginTimeL, endTimeL);
List<Entity> entityList = entityMapper.selectList(entityWrapper);

以上就是Mybatis-Plus时间范围查询方式的详细讲解,希望能够对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis-Plus时间范围查询方式详解 - Python技术站

(1)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • JAVA Spring Boot 自动配置实现原理详解

    JAVA Spring Boot 自动配置实现原理详解 概述 Spring Boot 是 Spring 家族中的一员,是一款基于 Spring 框架的轻量级应用开发框架,深受开发者们的喜爱。而 Spring Boot 的自动配置功能也被广泛认可和应用,本文将详细讲解 Spring Boot 自动配置的实现原理。 基础知识 在了解 Spring Boot 自动…

    Java 2023年5月19日
    00
  • 2020最新IDEA SpringBoot整合Dubbo的实现(zookeeper版)

    下面是详细讲解“2020最新IDEA SpringBoot整合Dubbo的实现(zookeeper版)”的完整攻略: 简介 Dubbo 是阿里巴巴提供的一个高性能 RPC 框架,支持多种协议和序列化方式,并提供了完善的服务治理方案。本文将介绍如何在 SpringBoot 中整合 Dubbo,使用 ZooKeeper 作为注册中心。完整代码可以在 GitHub…

    Java 2023年5月19日
    00
  • Springboot启动流程详细分析

    Spring Boot 启动流程详细分析 Spring Boot 是一个基于 Spring 框架的快速应用开发框架,旨在尽可能简化 Spring 应用程序的创建、开发和部署。在 Spring Boot 的背后有一套强大的启动机制和自动化配置。 本文将深入探索 Spring Boot 的启动流程,包括 Spring Boot 的三种启动方式和启动核心类、主函数…

    Java 2023年5月15日
    00
  • 详解Spring MVC如何测试Controller(使用springmvc mock测试)

    以下是关于“详解Spring MVC如何测试Controller(使用springmvc mock测试)”的完整攻略,其中包含两个示例。 详解Spring MVC如何测试Controller(使用springmvc mock测试) Spring MVC是一个基于Java的Web框架,它可以帮助我们快速开发Web应用程序。在开发过程中,我们需要对Control…

    Java 2023年5月17日
    00
  • Java私有构造函数作用原理解析

    Java私有构造函数作用原理解析 在Java面向对象编程中,构造函数是非常基础的概念。一个类中的构造函数可以用来进行初始化操作,并且在创建new对象时被自动调用。然而,在某些情况下,我们需要禁止创建对象或者限制创建对象的种类,这时候可以使用私有构造函数。本文将详细解析私有构造函数的作用原理和使用技巧。 一、什么是私有构造函数 首先,来看一下如何定义私有构造函…

    Java 2023年5月26日
    00
  • jsp 开发之struts2中s:select标签的使用

    JSP开发之Struts2中S:select标签的使用 在Struts2中使用s:select标签可以方便地创建下拉框,通过本文,您可以了解s:select标签的使用方法,包括其属性和示例。 基本语法 <s:select name="selectName" list="listValue" value=&quot…

    Java 2023年6月15日
    00
  • Mybatis新手教程之简单入门

    Mybatis是一个支持基于XML或注解的SQL语句编写和执行的轻量级开源框架,本文将会详细介绍Mybatis的入门使用,让新手能够轻松掌握该框架的使用方法。 步骤一:导入Mybatis依赖 在使用Mybatis前,需要在项目中引入相关的依赖。可以通过Maven等构建工具来导入以下两个MyBatis相关的jar包: <dependency> &l…

    Java 2023年5月20日
    00
  • JVM知识总结之垃圾收集算法

    JVM知识总结之垃圾收集算法 什么是垃圾收集算法 垃圾收集算法(Garbage Collection Algorithm)是指垃圾收集器(Garbage Collector,GC)在执行“垃圾收集”操作时,所采用的具体算法。垃圾收集器的作用是自动释放内存中不再被使用的对象。 常见的垃圾收集算法 1. 标记-清除算法(Mark-Sweep) 标记-清除算法(M…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部