Myeclipse+oracle分页查询

分页查询在项目中经常用到的,下面来介绍一下分页查询,下面以oracle数据库为例,用MyEclipse连接,通过JDBC的方式访问数据库,Oracle数据库,我们可以采用rownum的方式进行分页。

①    首先进行和oracle数据库的连接,详细步骤http://jingyan.baidu.com/article/fdbd42771d92b0b89e3f489d.html,还需要添加jar包, 下面连接的数据库及密码:scott/tiger;

②代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<html>
  <head>
    <title>Search Page</title>
  </head>
  <body>
  <%!
  		String DBDriver="oracle.jdbc.OracleDriver";
  		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		String user="scott";//数据库名
		String password="tiger";//数据库密码
   %>
   <%
   		String sql="select * from (select e.*,rownum m from ( select * from emp) e where rownum<=?) where m>=?";
   		String sql2="select count(*) from emp";
   		int pagesize=5;//显示每页显示的记录数
   		int pagenow=1;//当前页
   		int rowcount=0;
   		int pagecount=0;//页数
   		int max=0;
   		int min=0;
   		String s_pagenow=request.getParameter("pagenow");
   		if(s_pagenow!=null){
   			pagenow=Integer.parseInt(s_pagenow);
   		}
   		Class.forName(DBDriver);
   		Connection conn=DriverManager.getConnection(url, user, password);
   		PreparedStatement pst=conn.prepareStatement(sql2);		
   		ResultSet rs=pst.executeQuery();
   		if(rs.next()){
   			rowcount=rs.getInt(1);
   		}
   		if(rowcount%pagesize==0){
   			pagecount=rowcount/pagesize;
   		}else{
   			pagecount=rowcount/pagesize+1;
   		}
   		min=(pagenow-1)*pagesize+1;
		max=pagenow*pagesize;
   		pst=conn.prepareStatement(sql);
   		pst.setInt(1, max);
   		pst.setInt(2, min);
   		rs=pst.executeQuery();
   		%>
   		<table border="1">
   		<tr>
   			<td>empno</td>
   			<td>ename</td>
   			<td>job</td>
   		</tr>
   		<%
   		while(rs.next()){
				int empno=rs.getInt(1);
				String ename=rs.getString(2);
				String job=rs.getString(3);
				%>
				<tr>
					<td><%=empno %></td>
					<td><%=ename %></td>
					<td><%=job %></td>
				</tr>
				<%
			}
			
    %>
    </table>
    <%for(int i=1;i<=pagecount;i++){
    %>
    <a href=index.jsp?pagenow=<%=i %>><%=i %></a>
    <%
      } 
     %>
  </body>
</html>


猜你喜欢

转载自blog.csdn.net/pursue_myheart/article/details/51586599