jsp+oracle分页代码

说明:

1.我的数据库名叫aaa,密码是123

2.确定数据库中有数据 这是查询功能+分页

创建数据库sql

CREATE TABLE users (
username varchar2(100),
department varchar2(100),
headship varchar2(100),
)

类放在src下的com包中

db.java

package com;

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException;

public class db {

public static Connection getConnection() throws ClassNotFoundException, SQLException 
     { 
         Connection con = null; 
         Class.forName("oracle.jdbc.driver.OracleDriver"); 
         String url = "jdbc:oracle:thin:@你的ip:1521:aaa"; 
         con = DriverManager.getConnection(url, "SYSTEM","123"); 
         return con; 
     } 
}

查询页面MyJsp.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="java.sql.*"%>
<jsp:directive.page import="com.*;"/>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">
  
    <title>My JSP 'a.jsp' starting page</title>
  
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">  
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
    <%!
int pageSize = 5;//每页显示的记录数
int pageCount = 0;//总页数
%>
<%!
Connection con;
Statement sql;
ResultSet rs;
%>
<%
try
{      
   con = db.getConnection();
        Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//可滚动查询数据的结果集
   request.setCharacterEncoding("GB2312");
   rs = stmt.executeQuery("select * from users") ;
        rs.last(); //让游标到表中的最后一行
        int rowCount = rs.getRow(); //获取记录总数.
         pageCount = (rowCount % pageSize == 0) ? (rowCount / pageSize ) : (rowCount / pageSize +1);
        int showPage = 1;//当前页
//取得用户所指定的页
String goToPage = request.getParameter("showPage");
    if (goToPage == null){
         goToPage = "1";
     }
    //转换成整形
    try{
         showPage = Integer.parseInt(goToPage);
     }
    catch (NumberFormatException ex){
         showPage = 1;
     }
    //当前页小于等于第一页则按第一页算 如果 当前页大于等于总页数则为最后页
    if(showPage <=1){
         showPage = 1;
     }
    else if(showPage >= pageCount){
         showPage = pageCount;
     }
    //游标的位置 (当前页 - 1) * 页面大小 + 1
    int posion = (showPage -1 ) * pageSize + 1;
    //设置游标的位置
     rs.absolute(posion);
%>
   <table border="1">
    <tr>
     <td width="160">用户名</td>
     <td width="160">部门</td>
     <td width="160">职位</td>
    </tr>
     </table>
<%
   int i =0;
   //循环显示表中的数据 pageSize(每页所显示的记录)
   //rs.isAfterLast() 游标是否在最后一行之后说明后面已经没记录
   while(i<pageSize && !rs.isAfterLast()){
%>
   <table border="1">
   <col width="160px"/><col width="160px"/><col width="160px"/><col width="160px"/>
    <tr>
     <td><%=rs.getString("username")%></td>
     <td><%=rs.getString("department")%></td>
     <td><%=rs.getString("headship")%></td>
        </tr>
        <%rs.next();i++;}%>
        </table>
<form action="" method="get">
   <table border="1">
    <tr>
     <td>当前第<%=showPage%>页</td>
     <td>共<%=pageCount%>页</td>
     <td>
      <a href="MyJsp.jsp?showPage=1">首页</a>
       <a href="MyJsp.jsp?showPage=<%=showPage-1%>">上一页</a>
      <a href="MyJsp.jsp?showPage=<%=showPage+1%>">下一页</a>
      <a href="MyJsp.jsp?showPage=<%=pageCount%>">尾页</a>
     </td>
     <td> 共<%=rowCount%>条记录 </td>
     <td>转到
      <input type="text" name="showPage" size="4"/>
           <input type="submit" name="go" value="提交"/>
          </td>
    </tr>
   </table>
</form>
<%
   con.close() ;
}
catch(Exception e)
{
   out.println(e) ;
}
%>
</body>
</html>

posted on 2009-04-16 19:37 MichaelLee 阅读(2360) 评论(1)  编辑  收藏 所属分类: SQL

评论

# re: jsp+oracle分页代码 2013-03-13 15:58 热热

高贵  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

公告

====Michael Lee====
=Java Sofware Engineer=
=Work @ Beijing=
---再烦,也别忘微笑;再急,也要注意语气;再苦,也别忘坚持;再累,也要爱自己!---
---低调做人,你会一次比一次稳健;高调做事,你会一次比一次优秀---
---成功的时候不要忘记过去;失败的时候不要忘记还有未来---

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜