javaweb实现分页查询实例方法

Javaweb分页技术实现

创新互联建站是一家集网站建设,农安企业网站建设,农安品牌网站建设,网站定制,农安网站建设报价,网络营销,网络优化,农安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

分页技术就是通过SQL语句(如下)来获取数据,具体实现看下面代码

//分页查询语句
select * from 表名 where limit page , count;
和
//获取表中的总数据,确定页数
select count(*) from 表名;

java web实现分页查询实例方法

不说废话直接上代码

前端代码:




 
 Title
 
 


 
City_ID City_EN City_CN Country_code Country_EN Country_CN Province_EN Province_CN
1页/ 共1页/ Home/ Prev/ Next/ 转到第: Go

后台servlet代码:

/**
 * @author hh
 * @Date 2018/9/12
 */
@WebServlet("/getCity")
public class PageServlet extends HttpServlet {
 @Override
 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  //获取当前页参数,第一次访问为空
  String currPage = req.getParameter("currenPage");
  // 判断,如果为空,则设置为1
  if (currPage == null || "".equals(currPage.trim())) {
   currPage = "1";
  }
  //调用service返回分页类实例
  PageBean pageBean=new PageService().getPage(currPage);
  //设置相应文本类型
  resp.setContentType("application/json;charset=utf-8");
  //响应前端
  resp.getWriter().print(new Gson().toJson(pageBean));
 }
}

City 实体类:

package edu.nf.demo.entity;
 
/**
 * @author hh
 * @Date 2018/9/12
 */
public class City {
 private String cityId;
 private String cityEn;
 private String cityCn;
 private String countryCode;
 private String countryEn;
 private String countryCn;
 private String provinceEn;
 private String provinceCn;
 public String getCityId() {
  return cityId;
 }
 public void setCityId(String cityId) {
  this.cityId = cityId;
 }
 public String getCityEn() {
  return cityEn;
 }
 public void setCityEn(String cityEn) {
  this.cityEn = cityEn;
 }
 
 public String getCityCn() {
  return cityCn;
 }
 public void setCityCn(String cityCn) {
  this.cityCn = cityCn;
 }
 public String getCountryCode() {
  return countryCode;
 }
 public void setCountryCode(String countryCode) {
  this.countryCode = countryCode;
 }
 public String getCountryEn() {
  return countryEn;
 }
 public void setCountryEn(String countryEn) {
  this.countryEn = countryEn;
 }
 public String getCountryCn() {
  return countryCn;
 }
 
 public void setCountryCn(String countryCn) {
  this.countryCn = countryCn;
 }
 
 public String getProvinceEn() {
  return provinceEn;
 }
 
 public void setProvinceEn(String provinceEn) {
  this.provinceEn = provinceEn;
 }
 
 public String getProvinceCn() {
  return provinceCn;
 }
 
 public void setProvinceCn(String provinceCn) {
  this.provinceCn = provinceCn;
 }
}

自己写的一个类,专门用于分页查询用的:

package edu.nf.demo.entity;
 
import java.util.List;
 
/**
 * @author hh
 * @Date 2018/9/12
 */
public class PageBean {
 /**
  * 当前页, 默认显示第一页
  */
 private Integer currntPage = 1;
 /**
  * 查询返回的行数(每页显示的行数),默认每页显示10行
  */
 private int pageCount = 10;
 /**
  * 总记录数
  */
 private int totalCount;
 /**
  * 总页数 = 总记录数/每页显示的行数(+1)
  */
 private int totalPage;
 /**
  * 分页查询的数据,运用泛型,可以重复利用
  */
 private List pageData;
 
 public int getTotalPage() {
  if (totalCount % pageCount == 0) {
   totalPage = totalCount / pageCount;
  } else {
   totalPage = totalCount / pageCount + 1;
  }
  return totalPage;
 }
 
 public void setTotalPage(int totalPage) {
  this.totalPage = totalPage;
 }
 
 public int getCurrntPage() {
  return currntPage;
 }
 
 public void setCurrntPage(int currntPage) {
  this.currntPage = currntPage;
 }
 
 public int getPageCount() {
  return pageCount;
 }
 
 public void setPageCount(int pageCount) {
  this.pageCount = pageCount;
 }
 
 public int getTotalCount() {
  return totalCount;
 }
 
 public void setTotalCount(int totalCount) {
  this.totalCount = totalCount;
 }
 
 
 public List getPageData() {
  return pageData;
 }
 
 public void setPageData(List pageData) {
  this.pageData = pageData;
 }
}

后台service,逻辑业务层:

/**
 * @author hh
 * @Date 2018/9/12
 */
public class PageService {
 
 public PageBean getPage(String currPage){
  //类型转换 当前页数
  Integer currenPage = Integer.valueOf(currPage);
  //实例化分页类
  PageBean pageBean = new PageBean();
  //实例化CityDaoImpl类
  CityDaoImpl cityDao=new CityDaoImpl();
 
  //数据库第几行开始查询
  int startPage=(currenPage-1)*pageBean.getPageCount();
  //查询多少行数据 分页类里默认30行
  int selectCount=pageBean.getPageCount();
  //查询数据库获取分页返回的数据 : select * from regional_info limit startPage,selectCount
  List list=cityDao.listCity(startPage,selectCount);
  //获取总数
  int cityCount=cityDao.getCityCount();
  //设置查询的数据
  pageBean.setPageData(list);
  //共多少行
  pageBean.setTotalCount(cityCount);
  //设置总页数
  pageBean.setTotalPage(cityCount/pageBean.getPageCount()+1);
  return pageBean;
 }
}

当前标题:javaweb实现分页查询实例方法
文章出自:http://scjbc.cn/article/pgsiip.html

其他资讯