关闭

jsp中利用MySQL实现分页技术

1057人阅读 评论(0) 收藏 举报
分类:

jsp中利用MySQL实现分页技术


分页是很常用的一种技术,而MySQL中对于分页的操作也很简单,今天就说说如何在jsp页面中利用标签来最简化的实现分页:

链接:MySQL分页技术详解http://blog.csdn.net/u011637069/article/details/49928513


step1:编写DAO中代码:

	public List<Employee> findAll2(int page, int perPageRows) throws Exception {
		List<Employee> employees = new ArrayList<Employee>();
		Connection conn = null;
		try{
			conn = DBUtil.getConnection();
			PreparedStatement prep = 
				conn.prepareStatement("select id,name,salary,age from t_emp limit ?,?");
			prep.setInt(1, (page-1)*perPageRows);
			prep.setInt(2,perPageRows);
			ResultSet rs = prep.executeQuery();
			while(rs.next()){
				int id = rs.getInt("id");
				String name = rs.getString("name");
				double salary = rs.getDouble("salary");
				int age = rs.getInt("age");
				Employee e = new Employee(id, name, salary, age);
				employees.add(e);
			}
		}catch (Exception e) {
			e.printStackTrace();
			throw e;
		}finally{
			DBUtil.close(conn);
		}
		return employees;
	}

	public int findPages(int perPageRows) throws Exception {
		int totalPage = 0;
		Connection conn = null;
		try{
			conn = DBUtil.getConnection();
			Statement state = conn.createStatement();
			ResultSet rs = state.executeQuery("select count(*) from t_emp");
			int rows = 0;
			if(rs.next()){
				rows = rs.getInt(1);
			}
			if(rows % perPageRows == 0){
				totalPage = rows / perPageRows;
			}else{
				totalPage = rows / perPageRows + 1;
			}
		}catch (Exception e) {
			e.printStackTrace();
			throw e;
		}finally{
			DBUtil.close(conn);
		}
		return totalPage;
	}

step2:编写servlet代码:

			EmployeeDAO dao = (EmployeeDAO) Factory.getInstance("EmployeeDAO");
			List<Employee> employees = null;
			String pageStr = request.getParameter("page");
			
			int perPageRows = 5;
			int totalPage = 0;
			int page = 1;
			try {
				totalPage = dao.findPages(perPageRows);
				if(pageStr!=null){
					page = Integer.parseInt(pageStr);
				}
				if(page<1 || page>totalPage){
					page = 1;
				}
				employees = dao.findAll2(page,perPageRows);
				//转发
				//step1,绑定数据
				request.setAttribute("employees",employees);
				request.setAttribute("page",page);
				request.setAttribute("totalPage",totalPage);
				//step2,获得转发器
				RequestDispatcher rd = request.getRequestDispatcher("/emplist.jsp");
				//step3,转发
				rd.forward(request, response);
			} catch (Exception e1) {
				e1.printStackTrace();
				//1-转发处理异常
				//request.setAttribute("syserror", "系统正忙,请稍后重试!");
				//request.getRequestDispatcher("error.jsp").forward(request, response);
				//2-交给容器处理
				throw new ServletException(e1);
			}

step3:jsp代码:


          	<c:choose>
          		<c:when test="${page>1}">
          			<a href="list.do?page=${page-1}">上一页</a>
          		</c:when>
          		<c:otherwise>
          			上一页
          		</c:otherwise>
          	</c:choose>
          	第${page}页
          	<c:choose>
          		<c:when test="${page<totalPage}">
          			<a href="list.do?page=${page+1}">下一页</a>
          		</c:when>
          		<c:otherwise>
          			下一页
          		</c:otherwise>
          	</c:choose>
          	共${totalPage}页



自此,全部结束,还是比较简单的!!!





0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

MySQL数据库+jsp+servlet实现分页查询

前一段做的那个jsp+servlet的小项目用到了分页查询,老师讲了之后实现到了网页上面,今天总结到博客上面,以后忘记了自己可以看,也分享给大家.    这个项目使用的数据库是MySQL,在MySQL...
  • zc1994113
  • zc1994113
  • 2015-12-23 22:03
  • 5683

jsp+mysql分页技巧:巧用limit 进行分页查询

发现问题:  今天检查web程序,浏览“彩信xxxx日志”时,突然发现该web程序中不能浏览了,出错了,如下:500 Servlet Exceptionjava.lang.OutOfMemoryErr...
  • jiaboshi
  • jiaboshi
  • 2006-01-06 16:21
  • 11006

用jsp进行数据分页显示的一个实现

互联网时代实际上是数据的时代,构建大型电子商务系统必然要涉及到大量数据显示,数据的分页显示是频繁遇到的问题,如果让每个程序员都要考虑数据的获取与处理的每个细节,那必将是件既糟糕又混乱的事情,类似于分页...
  • chensheng913
  • chensheng913
  • 2004-08-25 22:51
  • 6526

JSP实现HTML网页中分页查询Mysql数据库数据

JSP实现HTML网页中分页查询Mysql数据库数据主要有以下几个地方要注意: 使用rs的来计算页面数: rs.last(); RowAmount = rs.getRow(); ...
  • u013816144
  • u013816144
  • 2015-12-29 01:35
  • 3092

MySQL数据库+jsp+servlet实现分页查询

前一段做的那个jsp+servlet的小项目用到了分页查询,老师讲了之后实现到了网页上面,今天总结到博客上面,以后忘记了自己可以看,也分享给大家.    这个项目使用的数据库是MySQL,在MySQL...
  • zc1994113
  • zc1994113
  • 2015-12-23 22:03
  • 5683

JSP数据分页实例:MySQL翻页

JSP数据库操作可以实现JSP数据分页。本文提供了一个MySQL分页的例子。 一、运行前准备 下载了mysql的jdbc驱动(一个jar文件)并加载在CLASSPATH。 建一个My...
  • shipeng22022
  • shipeng22022
  • 2013-02-27 11:51
  • 1222

mysql+jsp+javabean实现分页技术

  • 2007-10-03 14:10
  • 662KB
  • 下载

JSP中的分页技术源码(MYSQL数据库)

<%@ page language="java" import="java.util.*"
  • chance2015
  • chance2015
  • 2016-08-22 22:11
  • 697

java连mysql接数据库,jsp实现分页

  • 2017-12-17 15:04
  • 61KB
  • 下载

jsp中利用分页技术显示数据库内容

前段时间老师安排了一个关于学生建立系统的网站,初学java web很多都不懂,最后在做网站后台模块遇到了一个瓶颈,那就是将数据从数据库中选出,然后利用分页技术显示到jsp页面中,最终实现分页效果如图:...
  • LB228988
  • LB228988
  • 2013-11-23 22:52
  • 740
    个人资料
    • 访问:260270次
    • 积分:5848
    • 等级:
    • 排名:第5119名
    • 原创:351篇
    • 转载:36篇
    • 译文:0篇
    • 评论:23条
    文章分类