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日

相关文章

  • mybatis where 标签使用

    下面我将详细讲解“Mybatis where标签使用”的完整攻略,以及附带两条示例说明。 1. where 标签介绍 where 标签是 Mybatis 中用于动态生成 WHERE 子句的标签。它的作用可以在 SQL 语句中加入 WHERE 子句,将这个子句和其他的条件组合在一起。 2. where 标签用法 where 标签通常和其他的标签一起使用,比如:…

    html 2023年5月30日
    00
  • Java使用SAX解析xml的示例

    让我给您讲解一下“Java使用SAX解析xml的示例”的完整攻略。 SAX 解析 SAX(Simple API for XML)是一种基于事件的 API,它在解析 XML 文档时按照文档的顺序依次读取文档,并发生事件。通过这些事件,我们可以在读取 XML 文档的同时进行自己定义的操作。 Java 提供了 SAX 解析器来支持 SAX 解析,我们只需要实现 S…

    html 2023年5月30日
    00
  • iphone6出现乱码是怎么回事?解决苹果6乱码方法步骤

    iPhone6出现乱码的原因 通常出现乱码的原因有以下几点: 字体兼容性问题:在浏览网页或者在某些应用程序中,系统会加载不同的字体文件。如果这些字体文件与设备不兼容,就会出现乱码的问题。 编码方式不匹配:有些网页或者应用程序使用的字符编码方式与系统的编码方式不匹配,也会导致乱码的情况。 软件版本问题:有些时候,某些软件的版本过低或过高也会导致出现乱码问题。 …

    html 2023年5月31日
    00
  • 快手怎么发布作品动态?快手怎么发作品教程

    以下是“快手怎么发布作品动态?快手怎么发作品教程”的完整攻略: 快手怎么发布作品动态?快手怎么发作品教程 快手是一款非常流行的短视频应用程序,用户可以在软件中发布自己的短视频、照片等作品动态。下面是快手发布作品动态的具体步骤。 步骤1:打开快手应用程序 在使用快手发布作品动态前,用户需要先打开快手应用程序,以便更好地使用平台功能。 步骤2:选择“发布”选项 …

    html 2023年5月18日
    00
  • 基于HttpClient上传文件中文名乱码的解决

    基于HttpClient上传文件中文名乱码的解决方案如下: 问题描述 在使用HttpClient上传文件时,如果文件名是中文,那么就会出现中文乱码的问题,这样就无法在服务器中正确地解析文件名。 解决方案 为了解决这个问题,我们需要对上传的文件名进行编码转换,将中文文件名转换为HTTP协议中可接收的编码格式,比如转换为ISO_8859_1格式。 在Java中,…

    html 2023年5月31日
    00
  • 小度智能音箱play和青春版哪款好 小度智能音箱play和青春版区别对比

    以下是“小度智能音箱play和青春版哪款好 小度智能音箱play和青春版区别对比”的完整攻略: 小度智能音箱play和青春版哪款好 小度智能音箱play和青春版区别对比 小度智能音箱play和青春版都是百度公司推出的智能音箱产品,它们都具有语音助手、音乐播放、智能家居控制等功能。但是,它们之间还是有一些区别的。下面是小度智能音箱play和青春版的详细对比。 …

    html 2023年5月18日
    00
  • android实现在横竖屏切换时页面信息不被重置的示例分享

    这里就详细介绍一下实现“android实现在横竖屏切换时页面信息不被重置”的方法。 为什么需要实现页面信息不被重置? 在android应用中,屏幕横竖屏切换是非常常见的操作。当用户从竖屏切换到横屏或者从横屏切换到竖屏时,系统会销毁当前的Activity并重新创建一个新的Activity实例,这就会导致当前Activity中的所有信息都被重置,比如文本输入框中…

    html 2023年5月31日
    00
  • 利用Shell解析处理XML的方法汇总

    利用Shell解析处理XML的方法汇总 在Shell下解析XML文件有多种方法,这里对一些常用的做一个汇总。以下所有示例都基于以下的XML文件: <?xml version="1.0" encoding="UTF-8"?> <catalog> <book id="bk101&qu…

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