java LambdaQueryWrapper 传不同的泛型对象
时间: 2024-10-14 19:13:40 浏览: 62
【java核心技术】泛型设计
`LambdaQueryWrapper` 是阿里巴巴 MyBatis Plus 中的一个工具类,它提供了一种简洁的方式来编写动态 SQL 查询,尤其是针对 Criteria API 的优化。这个类允许你在运行时构建查询条件,而不需要显式地创建 `Criteria` 对象。
当你需要传入不同类型的泛型对象时,`LambdaQueryWrapper` 通常通过匿名内部类或者方法引用的形式来使用,这种方式被称为函数式编程风格。例如:
```java
List<User> users = UserMapper.selectList((wrapper) -> {
if (type == UserType.ADMIN) {
wrapper.eq("role", "admin");
} else if (type == UserType.USER) {
wrapper.eq("role", "user");
}
return wrapper;
}, type);
```
在这里,`UserType` 可能是你自定义的一个枚举类型,代表不同的查询条件类型。`selectList` 方法接受一个 `LambdaQueryWrapper` 的 lambda 表达式作为参数,根据 `type` 的值动态设置查询条件。
阅读全文