mybatis plus的3种查询方式(小结)

Mybatis Plus 的 3 种查询方式

Mybatis Plus 是 Mybatis 的增强版,提供了更加方便和简洁的操作数据库的方式。Mybatis Plus 提供了 3 种查询方式。分别为:

  1. Wrapper 查询
  2. QueryWrapper(条件构造器)查询
  3. LambdaWrapper 查询

下面我们详细讲解一下这三种查询方式。

1. Wrapper 查询

Wrapper 是所有条件构造器的顶级接口,我们常用的、比较重要的一些条件方法都在该接口中,包括一些比较常用的方法:eq、ne、gt、ge、lt、le、between、notBetween、like 等。如果接口提供的方法不能满足我们的查询需求,我们还可以通过自定义 SQL 语句的方式来进行查询。

下面是一个 Wrapper 查询的示例代码:

// 创建 QueryWrapper 对象,并设置查询条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", "admin").gt("age", "18");

// 执行查询
List<User> userList = userService.list(queryWrapper);

// 打印列表中的 User 对象
for (User user : userList) {
    System.out.println(user);
}

上面的代码中,我们通过 QueryWrapper 对象,使用 eq 方法设置了查询条件,要求查询 username 字段等于 "admin",同时年龄大于 18。最后使用 userService.list() 方法执行查询,并打印查询结果。

2. QueryWrapper(条件构造器)查询

QueryWrapper 是一个实现 Wrapper 接口的实现类,它提供了更加方便和灵活的查询方式。我们可以通过链式调用来设置查询条件,比如:eq、ne、gt、ge、lt、le、between、notBetween、like 等方法。

下面是一个 QueryWrapper 查询的示例代码:

// 创建 QueryWrapper 对象,并设置查询条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(User::getUsername, "admin").gt(User::getAge, 18);

// 执行查询
List<User> userList = userService.list(queryWrapper);

// 打印列表中的 User 对象
for (User user : userList) {
    System.out.println(user);
}

上面的代码中,我们通过 QueryWrapper 对象的 lambda() 方法,来获取一个 LambdaQueryWrapper 对象。然后使用该对象的 eq 和 gt 方法,来设置查询条件,要求查询 username 字段等于 "admin",同时年龄大于 18。最后使用 userService.list() 方法执行查询,并打印查询结果。

3. LambdaWrapper 查询

LambdaWrapper 是 QueryWrapper 的增强版,提供了更加强大和简便的查询方式。使用 LambdaWrapper,我们可以通过类似 Java 8 Lambda 表达式的方式,设置查询条件。

下面是一个 LambdaWrapper 查询的示例代码:

// 创建 LambdaWrapper 对象,并设置查询条件
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(User::getUsername, "admin").gt(User::getAge, 18);

// 执行查询
List<User> userList = userService.list(lambdaQueryWrapper);

// 打印列表中的 User 对象
for (User user : userList) {
    System.out.println(user);
}

上面的代码中,我们通过 LambdaQueryWrapper 对象,并使用 Lambda 表达式,来设置查询条件,要求查询 username 字段等于 "admin",同时年龄大于 18。最后使用 userService.list() 方法执行查询,并打印查询结果。

这就是 Mybatis Plus 的 3 种查询方式,每种方式都有其独特的优点和适用场景,根据不同的需求进行选择即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis plus的3种查询方式(小结) - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • js操作XML文件的实现方法兼容IE与FireFox

    下面详细讲解如何使用JavaScript操作XML文件并兼容IE与Firefox。 1. 什么是XML文件? XML(Extensible Markup Language)是一种被设计用来传输和存储数据的标记语言。与HTML相比,XML更加灵活和自由,可以自定义标记,用来描述非常复杂的数据结构和内容。 2. 如何使用JavaScript操作XML文件 要使用…

    html 2023年5月30日
    00
  • java常用工具类 XML工具类、数据验证工具类

    请看下面的详细讲解。 Java常用工具类 XML工具类 1. 使用场景 在Java开发中,我们经常会遇到读写XML文件的需求,比如配置文件、数据存储等等。XML工具类可以大大简化这一过程。 2. 常用的XML工具类 常用的XML工具类有JDOM、DOM4J等。这里我们以DOM4J为例,介绍如何使用。 3. 使用示例 我们假设有一个students.xml文件…

    html 2023年5月30日
    00
  • Python xpath表达式如何实现数据处理

    Python中使用xpath表达式可以轻松地实现对网页的数据进行处理和提取。下面将分为以下几个步骤介绍如何使用Python的xpath库对数据进行处理。 步骤一:获取HTML文本 要进行xpath数据处理,首先需要得到HTML文本。可以使用Python中的requests库来获取网页的HTML文本。 import requests from lxml imp…

    html 2023年5月31日
    00
  • python批量修改xml属性的实现方式

    针对“Python批量修改XML属性的实现方式”的问题,我们可以按照以下步骤来实现: 1. 解析XML文件 首先,我们需要使用Python内置库xml.etree.ElementTree来加载待处理的XML文件,并将其解析为一个树形结构,这样我们才能更方便地操作其中的元素和属性。 示例代码如下: import xml.etree.ElementTree as…

    html 2023年5月30日
    00
  • HTML5 placeholder属性详解

    关于“HTML5 placeholder属性详解”的完整攻略,以下是我整理的具体内容: 标题 HTML5 placeholder属性详解 简介 placeholder属性是HTML5新增的一个表单属性,可以在表单元素中显示灰色文本提示信息。该属性的主要作用是让用户更好地理解输入框需要填写何种内容,提高用户操作的便捷性和体验。 基本语法 在HTML表单中加入p…

    html 2023年5月30日
    00
  • HTML中link标签属性详解

    下面就是详细的讲解HTML中link标签属性的攻略。 HTML中link标签属性详解 link标签简介 在HTML中,link标签通常用于引入外部文件,比如引入CSS、JavaScript等文件,也可以用于指定网页图标、网站图标等。link标签通常放在HTML文档的head区块中,其基本语法如下: <link rel="stylesheet&…

    html 2023年5月30日
    00
  • vscode怎么导入图片? vscode把图片放进程序的技巧

    以下是关于VSCode导入图片的详细攻略: VSCode如何导入图片? 在VSCode中打开您的项目文件夹。 在项目文件夹中创建一个名为“images”的文件夹,用于存放您的图片。 将您的图片文件拖放到“images”文件夹中。 在您的HTML或CSS文件中,使用相对路径引用您的图片文件。例如,如果您的图片文件名为“example.jpg”,则可以使用以下代…

    html 2023年5月17日
    00
  • SpringBoot集成drools的实现示例

    SpringBoot是一种非常流行的Java框架,而Drools则是与规则引擎相关的框架。在集成Drools和SpringBoot过程中,可以使用Maven来进行构建和管理,以下是完整的攻略。 第一步:创建SpringBoot项目 使用Spring Initializr来创建一个新的SpringBoot项目,选择所需的dependencies,包括Sprin…

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