在java中 分页的步骤_在javaweb中使用分页查询的详细步骤
发布日期:2022-02-03 15:25:01 浏览次数:6 分类:技术文章

本文共 4053 字,大约阅读时间需要 13 分钟。

首先在原有的数据库实体bean上在建立一个分页实体bean

/**

* 用于展示分页数据的Javabean对象

* @author Lenovo

*

*/

public class PageenationBean {

private Integer currPage;//当前页数

private Integer totalPage;//总页数

private List dataList;//table的数据

public Integer getCurrPage() {

return currPage;

}

public void setCurrPage(Integer currPage) {

this.currPage = currPage;

}

public Integer getTotalPage() {

return totalPage;

}

public void setTotalPage(Integer totalPage) {

this.totalPage = totalPage;

}

public List getDataList() {

return dataList;

}

public void setDataList(List dataList) {

this.dataList = dataList;

}

}

然后在持久层和业务层书写分页查询的方法

持久层:

public interface IUserDao {

/**

* 获取总条数

* @return

*/

public int getTotalCount();

/**

* 通过起始索引获取数据

* @param StartIndex

* @return

*/

public List getUserListByStartIndex(int StartIndex);

业务层:

public interface IUserService {

/**

* 获取总页数

* @return

*/

public int getTotalPage();

/**

* 通过起始索引获取数据

* @param StartIndex

* @return

*/

public List getUserListByCurrPage(int currPage);

然后实现接口方法

持久类接口实现:

public class UserDaoImpl extends BaseDao implements IUserDao{

@Override

public int getTotalCount() {

this.setConnection();

int totalCount = 0;

try {

ps = con.prepareStatement("select count(*) from stuscore");

rs = ps.executeQuery();

if(rs.next()) {

totalCount =rs.getInt(1);

}

} catch (SQLException e) {

e.printStackTrace();

}

this.closeConnection();

return totalCount;

}

@Override

public List getUserListByStartIndex(int StartIndex) {

List list = new ArrayList();

this.setConnection();

try {

ps = con.prepareStatement("select * from stuscore limit ?,5");

ps.setInt(1, StartIndex);

rs=ps.executeQuery();

while(rs.next()) {

UserBean user=new UserBean();

user.setId(rs.getInt("id"));

user.setName(rs.getString("name"));

user.setGrade(rs.getString("grade"));

user.setSex(rs.getString("sex"));

user.setAge(rs.getInt("age"));

user.setScore(rs.getInt("score"));

list.add(user);

}

} catch (Exception e) {

e.printStackTrace();

}finally {

this.closeConnection();

}

return list;

}

业务类接口实现:

public class UserServiceImpl implements IUserService{

private IUserDao dao= new UserDaoImpl();

@Override

public int getTotalPage() {

//得到数据总条数

int totalCount= dao.getTotalCount();

//计算总页数公式:totalPage= (totalCount + pageSize-1)/pageSize

int totalPage = (totalCount+5-1)/5;

return totalPage;

}

@Override

public List getUserListByCurrPage(int currPage) {

//通过当前页计算起始索引

int startIndex = (currPage-1)*5;

//通过起始索引查询数据

List userList =dao.getUserListByStartIndex(startIndex);

return userList;

}

然后 书写servlet方法

@WebServlet("/ShowUserListServlets")

public class ShowUserListServlets extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//动态获取当前第几页并做计算

String operation = request.getParameter("operation");

String currPageStr = request.getParameter("currPage");

int currPage = 1;

//调取业务层查询数据

IUserService service= new UserServiceImpl();

//获取总页数

int totalPage = service.getTotalPage();

if(currPageStr == null) {

currPage = 1;

}else if("首页".equals(operation)){

currPage = 1;

}else if("上一页".equals(operation)) {

currPage = Integer.parseInt(currPageStr)-1;

if(currPage <= 0) {

currPage = 1;

}

}else if("下一页".equals(operation)) {

currPage = Integer.parseInt(currPageStr)+1;

if(currPage >= totalPage) {

currPage = totalPage;

}

}

List userList = service.getUserListByCurrPage(currPage);

//构建javabean对象-PagenationBean

PageenationBean pagenationBean = new PageenationBean();

pagenationBean.setCurrPage(currPage);

pagenationBean.setTotalPage(totalPage);

pagenationBean.setDataList(userList);

//放入作用域

request.setAttribute("page", pagenationBean);

request.getRequestDispatcher("userList.jsp").forward(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

最后用将jsp作为显示

pageEncoding="utf-8"%>

Insert title here
学号 姓名 性别 年龄
${u.id } ${u.name } ${u.sex} ${u.age}

第${page.currPage }页/共${page.totalPage }页


班级:

性别:

成绩段:

原文:https://www.cnblogs.com/wind-copy1234/p/11839378.html

转载地址:https://blog.csdn.net/weixin_35600779/article/details/114603815 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 静态方法的参数_java – 如何在jshell中表示一般多态静态方法的类型参数?...
下一篇:java中有错误咋能快速的改正_java抽象类错了 怎么改正

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月07日 12时27分12秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章