/*
* 业务说明: 利用MP方式查询数据库.
* 步骤梳理:
* 1.构建MP的分页对象
* 2.根据分页对象查询数据.
* 3.从分页对象中获取数据
* 4.封装PageResult对象
* 5.编辑配置类 封装分页拦截器
* */
@Override
public PageResult getUserList(PageResult pageResult) {
//定义分页对象 IPage是接口 Page<>是实现类对象 getPageNum()页数 //条数
IPage<User> page = new Page<>(pageResult.getPageNum(), pageResult.getPageSize());//接口=实现类
//2.定义条件构造器 指定动态查询Sql
boolean flag = StringUtils.hasLength(pageResult.getQuery());//判断当前对象是否有值,有值是true,无值是false
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
//flag使用的是括号里面的condition属性,如果boolean也就是flag是true才会拼接后面的"username"=pageResult.getQuery()的条件
//pageResult.getQuery()用户查询的条件
queryWrapper.like(flag, "username", pageResult.getQuery());//like模糊查询。是动态SQL,因为搜索栏里信息是动态的
//3.进行分页查询 selectPage分页,封装好了数据,下一行通过page.的方式获得数据
page = userMapper.selectPage(page, queryWrapper);//page分页对象 queryWrapper条件构造器
//4.从封装后的分页对象中获取数据
pageResult.setTotal(page.getTotal()).setRows(page.getRecords());//getTotal总数 getRecords记录
return pageResult;
}