使用通用mapper PageHelper进行分页查询

#PageHelper实现分页查询
##第一步 导包
(这里是基于Springboot框架)

在这里插入图片描述

通用mapper
在这里插入图片描述
##第二步 在mapper中继承通用mapper

import tk.mybatis.mapper.common.Mapper;

public interface BrandMapper extends Mapper <实体类> {
}

##第三步 创建一个分页结果集实体类
PageResult

import lombok.Data;
import java.util.List;

@Data
public class PageResult< T> {
private Long total;
private Integer totalPage;
private List< T> items;

public PageResult(){ }

public PageResult(Long total, List<T> items) {
    this.total = total;
    this.items = items;
}

}

第四步 在service实现类中开启分页并加入分页查询条件
/*page属性为当前页面,rows为每页的条数,key为查询条件,sortBy为根据某字段排序,根据desc的值选择排序方式
*/
@Override
public PageResult<实体类> selectBrandList(Integer page, Integer rows, String key, String sortBy, Boolean desc) {
//初始化Example
Example example = new Example(T.class);
Example.Criteria criteria = example.createCriteria();
//添加查询条件
if(StringUtils.isNotBlank(key)){//模糊查询
criteria.andLike(“字段名”,"%"+key+"%").orEqualTo(“字段名”,key);
}
//开启分页
PageHelper.startPage(page,rows);
if(StringUtils.isNotBlank(sortBy)){
example.setOrderByClause(sortBy+" "+(desc?“desc”:“asc”));
}
List<实体类> list = brandMapper.selectByExample(example);
//封装成PageInfo
PageInfo<实体类> brandPageInfo = new PageInfo<>(list);
//返回分页结果集
return new PageResult<>(brandPageInfo.getTotal(),brandPageInfo.getList());
}
第五步 在前端拿到分页的结果,根据各自情况处理数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
使用PageHelper进行分页查询的注解方式实现步骤如下: 1. 在pom.xml文件中添加PageHelper依赖,同样的步骤不赘述。 2. 在Spring Boot启动类上加上注解@EnableAspectJAutoProxy(proxyTargetClass = true),开启AOP代理。 ```java @SpringBootApplication @EnableAspectJAutoProxy(proxyTargetClass = true) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 3. 在mapper接口的方法上加上@Select注解,示例如下: ```java @Select("SELECT * FROM user") @com.github.pagehelper.PageHelper(startPage = pageNum, pageSize = pageSize) public List<User> selectUserList(); ``` 其中,@Select注解用于声明SQL语句,@com.github.pagehelper.PageHelper注解用于启动分页功能,startPage属性表示页数,pageSize属性表示每页显示的记录数。 4. 在Service层的代码中调用mapper接口中的方法进行分页查询,示例代码如下: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public PageInfo<User> selectUserList(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); List<User> userList = userMapper.selectUserList(); return new PageInfo<>(userList); } } ``` 其中,PageHelper.startPage(pageNum, pageSize)方法用于启动分页功能,List<User> userList = userMapper.selectUserList()方法用于进行查询操作,new PageInfo<>(userList)方法用于对查询结果进行封装,生成PageInfo对象,该对象包含了分页信息和查询结果。 以上就是使用PageHelper进行注解方式分页查询实现步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值