Mybatis Plus 的 3 种查询方式
Mybatis Plus 是 Mybatis 的增强版,提供了更加方便和简洁的操作数据库的方式。Mybatis Plus 提供了 3 种查询方式。分别为:
- Wrapper 查询
- QueryWrapper(条件构造器)查询
- 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技术站