Mybatis-Plus高级查询LambdaQueryWrapper&QueryWrapper
QueryWrapper
和 LambdaQueryWrapper
是MyBatis-Plus中用于生成SQL查询语句的工具。QueryWrapper
使用字符串来表示数据库表中的字段名,而 LambdaQueryWrapper
则利用了Java 8的Lambda表达式,可以在编译时期进行类型检查,从而避免了字段名字符串的错误。
以下是使用 LambdaQueryWrapper
的一个简单示例:
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
public class UserService implements IService<User> {
public Page<User> findActiveUsers(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::isActive, true);
return this.page(page, queryWrapper);
}
}
在这个例子中,User::isActive
是一个方法引用,它指向 User
实体类中的 isActive
方法。eq
方法是 LambdaQueryWrapper
中的一个方法,用于添加查询条件,其中第一个参数是字段的getter方法引用,第二个参数是你希望匹配的值。这个 findActiveUsers
方法会返回一个分页的用户列表,这些用户都是活跃的。
评论已关闭