`
aa00aa00
  • 浏览: 326872 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

jsp+jdbc 真分页(oracle)

阅读更多

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>分页显示</title>

<% Connection con=null;
   ResultSet rs=null;
   Statement stmt=null;
   String strSQL="";
   int PageSize=5; // 每页显示的记录数
   int PageAllCount=1;
   int Page=1;
   int RowCount=0;
   try
   {
    Class.forName("oracle.jdbc.driver.OracleDriver");
   }
   catch(ClassNotFoundException classnotfoundexception)
   {
       System.out.println(classnotfoundexception.getMessage());
   }
   try{
    con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.21:1521:orcl","mianshi","mianshi");
    stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    strSQL="select * from personnel";
    rs=stmt.executeQuery(strSQL);
    if(rs.next()){
     rs.last();  
     RowCount=rs.getRow();
     System.out.println(RowCount);
    }
    if(RowCount%PageSize==0)
     PageAllCount=RowCount/PageSize;
    else
     PageAllCount=(RowCount+PageSize-1)/PageSize;
    if(PageAllCount==0) PageAllCount=1;
    if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
     Page=1;
    else
     try{
      Page=Integer.parseInt(request.getParameter("Page"));
        }
    catch(java.lang.NumberFormatException e){
    Page=1;
   }
   if(Page<1) Page=1;
   if(Page>PageAllCount) Page=PageAllCount;
   rs.absolute((Page-1)*PageSize+1);
  
   out.print("<TABLE BORDER='1'>");
  
    for(int iPage=1;iPage<=PageSize;iPage++){
    out.println("<TR>");  
    out.println("<TD>"+rs.getString("name")+"</TD>");
    out.println("<td>"+rs.getString("sex")+"</td>");
    out.println("<td>"+rs.getInt("age")+"</td>");
    out.println("</TR>");
   if(!rs.next()) break;
    }
    out.print("</TABLE>");
        
    }
    catch(SQLException e1){e1.printStackTrace();}
    finally{
     stmt.close();
     con.close();
    }
%>
</head>
<body>

<FORM action="2.jsp" method="get">

<BR>输入页数:<input TYPE="TEXT" name="Page" size="3">
页数:<font color="black"><%=Page%>/<%=PageAllCount%></font>
</FORM>

第<%=Page%>页 共<%=PageAllCount%>页
<br>
<a href="2.jsp?Page=1">首页</a>
<%if(Page<PageAllCount){%><a href="2.jsp?Page=<%=Page+1%>">下一页</a><%}%>
<%if(Page>1){%><a href="1.jsp?Page=<%=Page-1%>">上一页</a><%}%>
<a href="2.jsp?Page=<%=PageAllCount%>">尾页</a>
</br>
</body>
</html>

 

2.jsp代码

 

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>分页显示</title>

<% Connection con=null;
   ResultSet rs=null;
   Statement stmt=null;
   String strSQL="";
   int PageSize=5; // 每页显示的记录数
   int PageAllCount=1;
   int Page=1;
   int RowCount=0;
   try
   {
    Class.forName("oracle.jdbc.driver.OracleDriver");
   }
   catch(ClassNotFoundException classnotfoundexception)
   {
       System.out.println(classnotfoundexception.getMessage());
   }
   try{
    con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.21:1521:orcl","mianshi","mianshi");
    stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    strSQL="select * from personnel";
    rs=stmt.executeQuery(strSQL);
    if(rs.next()){
     rs.last();  
     RowCount=rs.getRow();
     System.out.println(RowCount);
    }
    if(RowCount%PageSize==0)
     PageAllCount=RowCount/PageSize;
    else
     PageAllCount=(RowCount+PageSize-1)/PageSize;
    if(PageAllCount==0) PageAllCount=1;
    if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
     Page=1;
    else
     try{
      Page=Integer.parseInt(request.getParameter("Page"));
        }
    catch(java.lang.NumberFormatException e){
    Page=1;
   }
   if(Page<1) Page=1;
   if(Page>PageAllCount) Page=PageAllCount;
   rs.absolute((Page-1)*PageSize+1);
  
   out.print("<TABLE BORDER='1'>");
  
    for(int iPage=1;iPage<=PageSize;iPage++){
    out.println("<TR>");  
    out.println("<TD>"+rs.getString("name")+"</TD>");
    out.println("<td>"+rs.getString("sex")+"</td>");
    out.println("<td>"+rs.getInt("age")+"</td>");
    out.println("</TR>");
   if(!rs.next()) break;
    }
    out.print("</TABLE>");
        
    }
    catch(SQLException e1){e1.printStackTrace();}
    finally{
     stmt.close();
     con.close();
    }
%>
</head>
<body>

<FORM action="2.jsp" method="get">

<BR>输入页数:<input TYPE="TEXT" name="Page" size="3">
页数:<font color="black"><%=Page%>/<%=PageAllCount%></font>
</FORM>

第<%=Page%>页 共<%=PageAllCount%>页
<br>
<a href="2.jsp?Page=1">首页</a>
<%if(Page<PageAllCount){%><a href="2.jsp?Page=<%=Page+1%>">下一页</a><%}%>
<%if(Page>1){%><a href="1.jsp?Page=<%=Page-1%>">上一页</a><%}%>
<a href="2.jsp?Page=<%=PageAllCount%>">尾页</a>
</br>
</body>
</html>

 

建表语句:
  CREATE TABLE "MIANSHI"."PERSONNEL"
   ( "NAME" VARCHAR2(10 BYTE) NOT NULL ENABLE,
 "SEX" VARCHAR2(10 BYTE),
 "AGE" NUMBER,
 "BIRTHDAY" DATE,
  CONSTRAINT "PERSONNEL_PK" PRIMARY KEY ("NAME")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"  ENABLE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" ;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics