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

网友投稿 330 2023-01-21


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

javaweb分页技术实现

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

//分页查询语句

select * from 表名 where limit page , count;

//获取表中的总数据,确定页数

select count(*) from 表名;

不说废话直接上代码

前端代码:

City_ID

City_EN

City_CN

Country_code

Country_EN

Country_CN

Province_ENhttp://

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

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;

}

}

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;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:服装研发管理平台使用手册(服装采购管理系统)
下一篇:关于json post测试的信息
相关文章

 发表评论

暂时没有评论,来抢沙发吧~