首先使用技术不是特别多
最主要的就是将查询条件封装到一个类里面
创建翻页类
public class ListByPageRequestParam {
private int page = 1; //当前页数
private int pageSize = 10; // 每页长度
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
}
controller层
@GetMapping("")
public Page<FlightIssue> listFlightIssues(
ListByPageRequestParam requestParam,
FlightIssueSearchCriteria criteria
) {
return service.listFlightIssues(
requestParam.getPage(),
requestParam.getPageSize(),
criteria);
}
这里传数据只需要在后面加上page=和pageSize=就可以了
service层
@Override
public Page<FlightIssue> listFlightIssues(int pageIndex, int pageSize, FlightIssueSearchCriteria criteria) {
return dao.listFlightIssues(pageIndex, pageSize,criteria);
}
dao层
@Override
public Page<FlightIssue> listFlightIssues(int pageNo, int pageSize, FlightIssueSearchCriteria criteria) {
int skip = (pageNo - 1) * pageSize; // 当前条数
List<FlightIssue> list = this.issueMapper.listIssuesByPage(skip, pageSize, criteria);
int total = this.issueMapper.countIssues(criteria);
Page<FlightIssue> page = new Page<>(total, list);
return page;
}
mapper层
List<FlightIssue> listIssuesByPage(
@Param("skip") int skip,
@Param("pageSize") int pageSize,
@Param("criteria") FlightIssueSearchCriteria criteria
);
到mapper的xml文件里面查询加上limmit就可以了
limit #{pageSize} offset #{skip}