spring boot分页操作(pagehelp)

业务逻辑

前端传入两个参数,当前页码page和页码大小pageSize。后端返回两个参数总条数total和当前页的所有数据,可以封装成一个Bean。

@Data
@NoArgsConstructor
@AllArgsConstructor
public class pageBean {
    private Long total;
    private List rows;
}

首先引入maven依赖

<!--PageHelper分页插件-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.4.2</version>
</dependency>

controller层

@GetMapping
public Result page(@RequestParam(defaultValue = "1") Integer page,
                   @RequestParam(defaultValue = "10") Integer pageSize,
                   String name, Short gender,
                   @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
                   @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end){
    log.info("分页查询, 参数: {},{},{},{},{},{}",page,pageSize,name,gender,begin,end);
    //调用service分页查询
    pageBean pageBean = empService.page(page,pageSize,name,gender,begin,end);
    return Result.success(pageBean);
}

service层 

@Override
public pageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin, LocalDate end) {
    //1.设置分页参数
     PageHelper.startPage(page,pageSize);
    //2.执行查询
    List<Emp> list = empMapper.list(name,gender,begin,end);
    Page<Emp> p= (Page<Emp>) list;
    //3.封装pageBean对象
    pageBean pageBean = new pageBean(p.getTotal(), p.getResult());
    return pageBean;
}

mapper层

@Insert("insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, update_time) " +
        "values(#{username},#{name},#{gender},#{image},#{job},#{entrydate},#{deptId},#{createTime},#{updateTime}) ")
void insert(Emp emp);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值