SSM分页查询

在做项目的时候,经常使用到分页查询,有的直接使用模板,这儿是实现最基本的用法,还有很多没优化,就在此写下基本能实现的功能。

我们创建一个工具类,用来实现分页需要的数据信息

package com.brick.squad.util;
public class Pagination {
private int skipNum;//当前第几条记录开始
private int takeNum;//从开始记录开始每页显示条数
private int curentPage;//当前页
private int pageSize;//每页显示记录数
public int getSkipNum() {

return (curentPage-1)*pageSize;
}

public int getTakeNum() {
return pageSize;
}
public int getCurentPage() {
return curentPage;
}
public void setCurentPage(int curentPage) {
this.curentPage = curentPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

}

实现完成后,在controller 的类中,实现并显示


@Controller
@RequestMapping("/orders")
public class OrdersController {
@Autowired
@Qualifier("ordersService")
private OrdersService ordersService;

@RequestMapping("ordersPagination")
public String ordersPagination(Pagination pagination,HttpServletRequest request,Integer currentPage) throws Exception {
//获取总记录数
Integer count=ordersService.findOrdersCount();
request.setAttribute("count", count);
if(currentPage==null){
pagination.setCurentPage(1);
//设置每页显示多少条记录
pagination.setPageSize(3);
}else{
//设置当前第几页
pagination.setCurentPage(currentPage);
//设置每页显示多少条记录
pagination.setPageSize(3);
}
//总页数:向上取整
Integer totalPage=(int) Math.ceil(count/pagination.getPageSize());
request.setAttribute("totalPage", totalPage);
request.setAttribute("pagination" ,pagination);
List ordersList=ordersService.ordersPagination(pagination);
request.setAttribute("ordersList", ordersList);
return "/backstage_managed/jsp/ordersList";
}

}

上面需要的service,以及mapper类等自己去实现就可以;

service实现方法:

@Override
/** Orders订单分页查询*/
public List ordersPagination(Pagination pagination) throws Exception{
List ordersList=ordersMapper.ordersPagination(pagination);
return ordersList;
}
@Override
/**查询订单总数*/
public Integer findOrdersCount() throws Exception {
Integer ordersCount=ordersMapper.findOrdersCount();
return ordersCount;
}

service接口:

/**
* 查询订单总数
* */
public Integer findOrdersCount()throws Exception;
/**
* Orders订单分页查询
* */
public List ordersPagination(Pagination pagination)throws Exception;

mapper接口:

public void deleteOrdersById(String id);
/**
* 查询订单总数
* */
public Integer findOrdersCount();
/**
* Orders订单分页查询
* */
public List ordersPagination(Pagination pagination);

mapper.xml配置文件:SQL语句


id, no, state_id stateId, production_date productionDate,
buy_id buyId,
number, money


完成上面的功能后便可以在页面中显示了:






















订单ID订单编号订单状态订单产生时间买家ID数量总额
${orders.id}${orders.no}${orders.stateId}${orders.productionDate}${orders.buyId}${orders.number}${orders.money}



 
首页 
οnclick="return checkFirst()">上一页 
οnclick="return checkNext()">下一页 
尾页 
跳转到:




注意:上面有的没有实现,比如service的bean,自己去实现。






你可能感兴趣的:(JavaWeb)