mybatis-plus分页

1.写一个统一的分页参数

package com.wms.common;

import lombok.Data;

import java.util.HashMap;

@Data
public class QueryPageParam {
    private static int PAGE_SIZE = 20;
    private static int PAGE_NUM = 1;

    private int pageSize = PAGE_SIZE;
    private int pageNum = PAGE_NUM;

    private HashMap param;
}

2.写一个分页查询的请求方法

@PostMapping("/test")
    public List<User> test(@RequestBody QueryPageParam queryPageParam) {
        HashMap param = queryPageParam.getParam();
        String name = (String)param.get("name");

        Page<User> page = new Page<>();
        page.setCurrent(queryPageParam.getPageNum());
        page.setSize(queryPageParam.getPageSize());

        LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.like(User::getName, name);

        IPage<User> result = userService.page(page, lambdaQueryWrapper);
        System.out.println("total == " + result.getTotal());

        return result.getRecords();
    }

自定义分页查询

a.在请求方法中调用自定义方法pageCustom

@PostMapping("/customPage")
    public List<User> customPage(QueryPageParam queryPageParam) {
        int pageSize = queryPageParam.getPageSize();
        int pageNum = queryPageParam.getPageNum();

        Page<User> page = new Page<>();
        IPage<User> result = userService.pageCustom(page);
        return result.getRecords();
    }

b.去UserService接口和UserServiceImpl实现方法

public interface UserService extends IService<User> {
    List<User> listALL();

    IPage<User> pageCustom(Page<User> page);
}

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> listALL() {
        return userMapper.listALL();
    }

    @Override
    public IPage<User> pageCustom(Page<User> page) {
        return userMapper.pageCustom(page);
    }
}

c.去UserMapper接口和UserMapper.xml中实现方法

@Mapper
public interface UserMapper extends BaseMapper<User> {
    List<User> listALL();

    IPage<User> pageCustom(Page<User> page);
}

<select id="pageCustom" resultType="com.wms.entity.User">
        select * from user
</select>

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐