mybatis-plus分页
·
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>
更多推荐




所有评论(0)