【MyBatis-Plus】详解Wrappers.<T> lambdaQuery()以及常用过滤方法
Wrappers. lambdaQuery()
Wrappers.
lambdaQuery() 是 MyBatis-Plus 中用于创建 LambdaQueryWrapper 对象的方法,它用于构建 SQL 查询条件的起始点。LambdaQueryWrapper 是一种类型安全的查询条件构建方式,通过 lambda 表达式可以更加直观地定义查询条件。
用途:
Wrappers.lambdaQuery() 方法用于创建 LambdaQueryWrapper 对象,用于构建查询条件。
类型参数:
Lambda 表达式:通过 Wrappers.
示例:
以下是一个示例,演示如何使用 Wrappers.lambdaQuery() 方法创建查询条件:
LambdaQueryWrapper wrapper = Wrappers.lambdaQuery();
wrapper.eq(User::getAge, 25).like(User::getName, "John").ge(User::getSalary, 50000);
List userList = userMapper.selectList(wrapper);
在这个示例中,我们创建了一个 LambdaQueryWrapper 对象,然后使用 eq、like 和 ge 等方法添加查询条件,最终执行查询并将结果存储在 userList 中。
总之,Wrappers.lambdaQuery() 方法是 MyBatis-Plus 中用于创建 LambdaQueryWrapper 对象的入口,它为开发人员提供了一种方便且类型安全的方式来构建复杂的 SQL 查询条件。通过使用 lambda 表达式,查询条件的编写变得更加直观和易于理解。
常用过滤方法
在 MyBatis-Plus 中,LambdaQueryWrapper 提供了多种过滤方法,用于构建 SQL 查询条件。这些过滤方法是用于比较、筛选和排除记录的条件。
eq(column, value):等于指定值。
column:要进行比较的列,通常使用 lambda 表达式指定。
value:要比较的目标值。
ne(column, value):不等于指定值。
column:要进行比较的列,通常使用 lambda 表达式指定。
value:要比较的目标值。
ne(boolean condition, R column, Object val)
筛选出指定列的值不等于给定值的记录。
condition:一个布尔值,用于确定是否应用此条件。如果为 true,则条件会生效;如果为 false,则条件被忽略,查询不会考虑该条件。
column:要进行比较的列,通常使用 lambda 表达式来指定列。例如,FileDO::getReviewState 表示要比较 FileDO 对象的 reviewState 列。
val:要比较的值,即要筛选的目标值。只有在 column 表示的列的值不等于 val 时,记录才会符合条件。
gt(column, value):大于指定值。
column:要进行比较的列,通常使用 lambda 表达式指定。
value:要比较的目标值。
ge(column, value):大于等于指定值。
column:要进行比较的列,通常使用 lambda 表达式指定。
value:要比较的目标值。
lt(column, value):小于指定值。
column:要进行比较的列,通常使用 lambda 表达式指定。
value:要比较的目标值。
le(column, value):小于等于指定值。
column:要进行比较的列,通常使用 lambda 表达式指定。
value:要比较的目标值。
between(column, value1, value2):在两个值之间。
column:要进行比较的列,通常使用 lambda 表达式指定。
value1 和 value2:要比较的两个目标值。
like(column, value):模糊匹配指定值。
column:要进行比较的列,通常使用 lambda 表达式指定。
value:要模糊匹配的目标值,可以包含通配符 %。
in(column, values):在指定值列表中。
column:要进行比较的列,通常使用 lambda 表达式指定。
values:要匹配的值列表,通常是一个数组、集合或列表。
notIn(column, values):不在指定值列表中。
column:要进行比较的列,通常使用 lambda 表达式指定。
values:要排除的值列表,通常是一个数组、集合或列表。
isNull(column):判断列的值是否为 null。
column:要进行判断的列,通常使用 lambda 表达式指定。
isNotNull(column):判断列的值是否不为 null。
column:要进行判断的列,通常使用 lambda 表达式指定。
这些过滤方法可以根据需要组合使用,以构建复杂的查询条件。使用 lambda 表达式可以实现类型安全的条件构建,让查询条件更加清晰和易于理解。例如:
LambdaQueryWrapper wrapper = Wrappers.lambdaQuery();
wrapper.eq(User::getAge, 25).like(User::getName, "John").ge(User::getSalary, 50000).in(User::getDepartment, Arrays.asList("HR", "Finance"));
List userList = userMapper.selectList(wrapper);
在上面的示例中,我们使用了多个过滤方法来构建查询条件,包括等于、模糊匹配、大于等于和在值列表中等条件,以筛选出符合条件的用户记录。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
