青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

jsp+oracle實現簡單的分頁

oracle腳本:drop table t_student cascade constraints;
Java代碼  收藏代碼
  1. /*==============================================================*/  
  2. /* Table: t_student                                           */  
  3. /*==============================================================*/  
  4. create table t_student  (  
  5.    s_id              char(10)                        not null,  
  6.    s_name             varchar2(20)                    not null,  
  7.    s_age              char(2)                         not null,  
  8.    s_sex              char(2)                         not null,  
  9.    s_class            varchar2(20),  
  10.    constraint PK_T_STUDENT primary key (s_id)  
  11. );  
  12.   
  13. insert into t_student values('0001','張三','20','男','08級二班') ;  
  14. insert into t_student values('0002','李四','21','女','08級二班') ;  
  15. insert into t_student values('0003','王五','20','男','08級二班') ;  
  16. insert into t_student values('0004','趙柳','20','女','08級一班') ;  
  17. insert into t_student values('0005','楊梅','21','男','08級二班') ;  
  18. insert into t_student values('0006','劉海','23','女','08級一班') ;  
  19. insert into t_student values('0007','孫江','20','女','08級一班') ;  
  20. insert into t_student values('0008','蘇燦','22','男','08級二班') ;  
  21. insert into t_student values('0009','王霞','23','女','08級一班') ;  
  22. insert into t_student values('0010','王猛','22','男','08級二班') ;  
  23. insert into t_student values('0011','張相','22','女','08級一班') ;  
  24. insert into t_student values('0012','香橙','20','女','08級一班') ;  
  25. insert into t_student values('0013','李心','21','女','08級二班') ;  
  26. insert into t_student values('0014','張強','20','男','08級一班') ;  
  27. insert into t_student values('0015','趙琳','21','女','08級一班') ;  
  28. insert into t_student values('0016','劉達','21','男','08級二班') ;  
  29. insert into t_student values('0017','蘇惠','20','女','08級二班') ;  
  30. insert into t_student values('0018','賈瑞','20','女','08級一班') ;  
  31. insert into t_student values('0019','谷瑞坤','22','男','08級二班') ;  
  32. insert into t_student values('0020','祥還','21','男','08級一班') ;  
  33. commit;  

  采用單利模式創建DbUtil類獲得Connection對象:package com.stmcc.test.util;

Java代碼  收藏代碼
  1. import java.sql.*;  
  2.   
  3. public class DbUtil {  
  4.   
  5.     private static final String driver = "oracle.jdbc.driver.OracleDriver" ;  
  6.     private static final String url = "jdbc:oracle:thin:@10.10.10.2:1521:orcl" ;  
  7.     private static final String username = "test" ;  
  8.     private static final String password = "test" ;  
  9.     public static Connection getConnection(){  
  10.         Connection conn = null ;  
  11.         try{  
  12.             Class.forName(driver) ;  
  13.             conn = DriverManager.getConnection(url, username, password) ;  
  14.         }catch(Exception e){  
  15.             e.printStackTrace() ;  
  16.         }  
  17.         return conn ;  
  18.     }  
  19.   
  20.     public static void close(Connection conn) {  
  21.         if (conn != null) {  
  22.             try {  
  23.                 conn.close();  
  24.             } catch (SQLException e) {  
  25.                 e.printStackTrace();  
  26.             }  
  27.         }  
  28.     }  
  29.       
  30.     public static void close(PreparedStatement pstmt) {  
  31.         if (pstmt != null) {  
  32.             try {  
  33.                 pstmt.close();  
  34.             } catch (SQLException e) {  
  35.                 e.printStackTrace();  
  36.             }  
  37.         }  
  38.     }  
  39.       
  40.     public static void close(ResultSet rs ) {  
  41.         if (rs != null) {  
  42.             try {  
  43.                 rs.close();  
  44.             } catch (SQLException e) {  
  45.                 e.printStackTrace();  
  46.             }  
  47.         }  
  48.     }  
  49.     public static void main(String[] args) {  
  50.         System.out.println(DbUtil.getConnection());  
  51.     }  
  52. }  

 創建學生實體類:package com.stmcc.test;

Java代碼  收藏代碼
  1. public class Student {  
  2.   
  3.     private String s_id ;  
  4.     private String s_name ;  
  5.     private String s_age ;  
  6.     private String s_sex ;  
  7.     private String s_class ;  
  8.     public String getS_id() {  
  9.         return s_id;  
  10.     }  
  11.     public void setS_id(String s_id) {  
  12.         this.s_id = s_id;  
  13.     }  
  14.     public String getS_name() {  
  15.         return s_name;  
  16.     }  
  17.     public void setS_name(String s_name) {  
  18.         this.s_name = s_name;  
  19.     }  
  20.     public String getS_age() {  
  21.         return s_age;  
  22.     }  
  23.     public void setS_age(String s_age) {  
  24.         this.s_age = s_age;  
  25.     }  
  26.     public String getS_sex() {  
  27.         return s_sex;  
  28.     }  
  29.     public void setS_sex(String s_sex) {  
  30.         this.s_sex = s_sex;  
  31.     }  
  32.     public String getS_class() {  
  33.         return s_class;  
  34.     }  
  35.     public void setS_class(String s_class) {  
  36.         this.s_class = s_class;  
  37.     }  
  38. }  

  創建學生管理類:package com.stmcc.test.util;

Java代碼  收藏代碼
  1. import com.stmcc.test.*;  
  2. import java.sql.* ;  
  3. import java.util.*;   
  4. public class StuManager {  
  5.   
  6.     private static StuManager instance = new StuManager() ;  
  7.       
  8.     private StuManager(){} ;  
  9.       
  10.     public static StuManager getInstance(){  
  11.         return instance ;  
  12.     }  
  13. //  oracle實現分頁的查詢語句  
  14. //  select s_id, s_name, s_age, s_sex, s_class  
  15. //  from  
  16. //  (  
  17. //    select rownum rn, s_id, s_name, s_age, s_sex, s_class  
  18. //    from  
  19. //      (select s_id, s_name, s_age, s_sex, s_class   
  20. //       from t_student order by s_id  
  21. //      )where rownum <= 10  
  22. //  )where rn > 5 ;  
  23.     public PageModel findStudentList(int pageNo, int pageSize){  
  24.         PageModel pageModel = null ;  
  25.         StringBuffer sql = new StringBuffer() ;  
  26.         sql.append("select s_id, s_name, s_age, s_sex, s_class ")  
  27.             .append("from")  
  28.             .append("(")  
  29.             .append("select rownum rn, s_id, s_name, s_age, s_sex, s_class ")  
  30.             .append("from")  
  31.             .append("(")  
  32.             .append("select s_id, s_name, s_age, s_sex, s_class ")  
  33.             .append("from t_student order by s_id")  
  34.             .append(")")  
  35.             .append("where rownum <= ?")  
  36.             .append(")")  
  37.             .append("where rn > ? ");  
  38.         Connection conn = null ;  
  39.         PreparedStatement pstmt = null ;  
  40.         ResultSet rs = null ;  
  41.         try{  
  42.             conn = DbUtil.getConnection() ;  
  43.             pstmt = conn.prepareStatement(sql.toString()) ;  
  44.             pstmt.setInt(1, pageNo*pageSize) ;  
  45.             pstmt.setInt(2, (pageNo - 1)*pageSize) ;  
  46.             rs = pstmt.executeQuery() ;  
  47.             List<Student> stuList = new ArrayList<Student>() ;  
  48.             while (rs.next()){  
  49.                 Student stu = new Student() ;  
  50.                 stu.setS_id(rs.getString("s_id")) ;  
  51.                 stu.setS_name(rs.getString("s_name")) ;  
  52.                 stu.setS_age(rs.getString("s_age")) ;  
  53.                 stu.setS_sex(rs.getString("s_sex")) ;  
  54.                 stu.setS_class(rs.getString("s_class")) ;  
  55.                 stuList.add(stu) ;  
  56.             }  
  57.             pageModel = new PageModel() ;  
  58.             pageModel.setList(stuList) ;  
  59.             pageModel.setTotalRecords(getTotalRecords(conn)) ;  
  60.             pageModel.setPageSize(pageSize);  
  61.             pageModel.setPageNo(pageNo);  
  62.         }catch(Exception e){  
  63.             e.printStackTrace() ;  
  64.         }finally{  
  65.             DbUtil.close(rs) ;  
  66.             DbUtil.close(pstmt) ;  
  67.             DbUtil.close(conn) ;  
  68.         }  
  69.         return pageModel ;  
  70.     }  
  71.     /** 
  72.      * 取得總記錄數 
  73.      * @param conn 
  74.      * @return 
  75.      */  
  76.     private int getTotalRecords(Connection conn)   
  77.     throws SQLException {  
  78.         String sql = "select count(*) from t_student";  
  79.         PreparedStatement pstmt = null;  
  80.         ResultSet rs = null;  
  81.         int count = 0;  
  82.         try {  
  83.             pstmt = conn.prepareStatement(sql);  
  84.             rs = pstmt.executeQuery();  
  85.             rs.next();  
  86.             count = rs.getInt(1);  
  87.         }finally {  
  88.             DbUtil.close(rs);  
  89.             DbUtil.close(pstmt);  
  90.         }  
  91.         return count;  
  92.     }  
  93. }  

 創建分頁模型類實現業務邏輯:package com.stmcc.test.util;

Java代碼  收藏代碼
  1. import java.util.* ;  
  2. public class PageModel {  
  3.   
  4.     //結果集  
  5.     private List list ;  
  6.       
  7.     //查詢總記錄數  
  8.     private int totalRecords ;  
  9.       
  10.     //每頁多少條數據  
  11.     private int pageSize ;  
  12.       
  13.     //第幾頁  
  14.     private int pageNo ;  
  15.       
  16.     /** 
  17.      * 總頁數 
  18.      * @return 
  19.      */  
  20.     public int getTotalPages(){  
  21.         return (totalRecords + pageSize -1) / pageSize ;  
  22.     }  
  23.       
  24.     /** 
  25.      * 取得首頁 
  26.      * @return 
  27.      */  
  28.     public int getTopPageNo(){  
  29.         return 1 ;  
  30.     }  
  31.       
  32.     /** 
  33.      * 上一頁 
  34.      * @return 
  35.      */  
  36.     public int getPreviousPageNo(){  
  37.         if(pageNo <= 1){  
  38.             return 1 ;  
  39.         }  
  40.         return pageNo - 1 ;  
  41.     }  
  42.       
  43.     /** 
  44.      * 下一頁 
  45.      * @return 
  46.      */  
  47.     public int getNextPageNo(){  
  48.         if(pageNo >= getBottomPageNo()){  
  49.             return getBottomPageNo() ;  
  50.         }  
  51.         return pageNo + 1 ;  
  52.     }  
  53.       
  54.     /** 
  55.      * 取得尾頁 
  56.      * @return 
  57.      */  
  58.     public int getBottomPageNo(){  
  59.         return getTotalPages() ;  
  60.     }  
  61.   
  62.     public List getList() {  
  63.         return list;  
  64.     }  
  65.   
  66.     public void setList(List list) {  
  67.         this.list = list;  
  68.     }  
  69.   
  70.     public int getTotalRecords() {  
  71.         return totalRecords;  
  72.     }  
  73.   
  74.     public void setTotalRecords(int totalRecords) {  
  75.         this.totalRecords = totalRecords;  
  76.     }  
  77.   
  78.     public int getPageSize() {  
  79.         return pageSize;  
  80.     }  
  81.   
  82.     public void setPageSize(int pageSize) {  
  83.         this.pageSize = pageSize;  
  84.     }  
  85.   
  86.     public int getPageNo() {  
  87.         return pageNo;  
  88.     }  
  89.   
  90.     public void setPageNo(int pageNo) {  
  91.         this.pageNo = pageNo;  
  92.     }  
  93. }  

 jsp頁面:<%@ page contentType="text/html" pageEncoding="GBK"%>

Java代碼  收藏代碼
  1. <%@ page import="com.stmcc.test.util.*"%>  
  2. <%@ page import="com.stmcc.test.*"%>  
  3. <%@ page import="java.sql.*"%>  
  4. <%@ page import="java.util.*"%>  
  5. <html>  
  6. <head><title>分頁展示</title></head>  
  7. <%  
  8.     int pageNo = 1 ;  
  9.     int pageSize = 5 ;  
  10.     String pageNoString = request.getParameter("pageNo") ;  
  11.     if(pageNoString != null){  
  12.         pageNo = Integer.parseInt(pageNoString) ;  
  13.     }  
  14.     PageModel pageModel = StuManager.getInstance().findStudentList(pageNo,pageSize) ;  
  15. %>  
  16. <script type="text/javaScript">  
  17.     function topPage() {  
  18.         window.self.location = "student.jsp?pageNo=<%=pageModel.getTopPageNo()%>";  
  19.     }  
  20.       
  21.     function previousPage() {  
  22.         window.self.location = "student.jsp?pageNo=<%=pageModel.getPreviousPageNo()%>";  
  23.     }     
  24.       
  25.     function nextPage() {  
  26.         window.self.location = "student.jsp?pageNo=<%=pageModel.getNextPageNo()%>";  
  27.     }  
  28.       
  29.     function bottomPage() {  
  30.         window.self.location = "student.jsp?pageNo=<%=pageModel.getBottomPageNo()%>";  
  31.     }  
  32. </script>  
  33. <body>  
  34. <center>  
  35.   <table border="1">  
  36.   <tr>  
  37.     <td>學生編號</td>  
  38.     <td>學生姓名</td>  
  39.     <td>學生年齡</td>  
  40.     <td>學生性別</td>  
  41.     <td>學生班級</td>  
  42.   </tr>  
  43.   <%  
  44.     List stuList = pageModel.getList() ;  
  45.     for(Iterator<Student> iter = stuList.iterator(); iter.hasNext();){  
  46.         Student stu = iter.next() ;  
  47.   %>  
  48.   <tr>  
  49.     <td><%=stu.getS_id() %></td>  
  50.     <td><%=stu.getS_name() %></td>  
  51.     <td><%=stu.getS_age() %></td>  
  52.     <td><%=stu.getS_sex() %></td>  
  53.     <td><%=stu.getS_class() %></td>  
  54.   </tr>  
  55.   <%  
  56.     }  
  57.   %>  
  58.   <tr><td colspan="5">  
  59.       共&nbsp;<%=pageModel.getTotalPages() %>&nbsp;頁&nbsp;&nbsp;&nbsp;&nbsp;  
  60.       當前第&nbsp;<%=pageModel.getPageNo() %>頁&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
  61.   <input type="button" value="首頁" onClick="topPage()">  
  62.   <input type="button" value="上一頁" onClick="previousPage()">  
  63.   <input type="button" value="下一頁" onClick="nextPage()">  
  64.   <input type="button" value="尾頁" onClick="bottomPage()">  
  65.   </td></tr>  
  66.   </table>  
  67. </center>  
  68. </body>  
  69. </html>  

posted on 2011-09-07 02:21 大龍 閱讀(480) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩一区二区精品视频| 午夜在线精品偷拍| 一区二区三区国产在线| 国产真实乱偷精品视频免| 欧美私人网站| 亚洲国产日韩一级| 欧美专区在线观看| 亚洲综合另类| 亚洲图片你懂的| 99国产精品久久久久久久久久| 禁久久精品乱码| 国产一区视频网站| 狠狠色综合网站久久久久久久| 国产日韩av在线播放| 国产午夜精品全部视频播放| 欧美另类一区二区三区| 欧美国产国产综合| 欧美国产高潮xxxx1819| 欧美日本乱大交xxxxx| 欧美激情一区二区三区四区 | 亚洲视频自拍偷拍| 亚洲女人天堂av| 亚洲夜晚福利在线观看| 亚洲视频在线观看视频| 亚洲视屏一区| 欧美淫片网站| 欧美成年人视频网站| 欧美国产综合| 一个人看的www久久| 亚洲欧美国产高清| 久久久精品日韩欧美| 欧美护士18xxxxhd| 国产精品久久久久婷婷| 狠狠综合久久av一区二区小说 | 亚洲欧美欧美一区二区三区| 免费成人在线观看视频| 一区二区三区四区蜜桃| 欧美成人午夜激情| 黄色av日韩| 欧美资源在线| 一个色综合导航| 欧美日韩国产影院| 亚洲精品国产无天堂网2021| 久久国产一二区| 亚洲午夜一级| 国产精品二区影院| 夜色激情一区二区| 亚洲国产小视频| 久久久久女教师免费一区| 国产三级精品三级| 久久久精品日韩| 小处雏高清一区二区三区| 欧美午夜免费电影| 中国成人在线视频| 夜久久久久久| 国产精品美女www爽爽爽| 亚洲综合精品四区| 亚洲一区二区三区精品视频 | 亚洲国产美女精品久久久久∴| 欧美亚洲视频在线观看| 亚洲一区一卡| 国产日韩欧美亚洲| 久久精品亚洲一区| 久久狠狠婷婷| 亚洲国产精品一区二区www| 欧美成人r级一区二区三区| 久久这里有精品15一区二区三区| 国内视频一区| 久久综合色婷婷| 久久免费视频在线| 亚洲欧洲另类| 亚洲精品黄色| 国产精品日韩久久久| 欧美一区二区三区播放老司机| 亚洲综合成人在线| 日韩午夜高潮| 亚洲剧情一区二区| 国产精品va在线| 久久久久国产精品午夜一区| 久久精品视频在线播放| 亚洲精品乱码久久久久久| 亚洲精品中文字幕在线| 国产模特精品视频久久久久| 久久久噜噜噜久久中文字免| 美日韩精品视频免费看| 一区二区三区视频免费在线观看| 一区二区三区 在线观看视频| 欧美视频在线观看一区| 欧美在线黄色| 欧美电影免费观看大全| 亚洲中无吗在线| 久久九九久久九九| 亚洲视屏在线播放| 久久精品国产91精品亚洲| 亚洲伦理在线观看| 午夜宅男久久久| 亚洲美女精品一区| 欧美在线啊v| 中文在线资源观看网站视频免费不卡 | 亚洲精品视频免费| 国产欧美一区二区精品婷婷| 欧美电影在线播放| 国产乱码精品| 亚洲人成在线观看一区二区| 国产欧美一区二区三区沐欲 | 久久国产精品久久久| 亚洲人妖在线| 欧美亚洲系列| 一区二区三区成人精品| 久久精品一区| 欧美一区二区高清| 欧美精品一区二区三区蜜臀| 久久一二三四| 国产午夜精品理论片a级探花| 99精品热视频只有精品10| 一区二区三区在线视频免费观看| 一区二区三区视频观看| 夜夜嗨av一区二区三区| 久久久噜噜噜久久| 久久久久在线观看| 国产亚洲激情视频在线| 一区二区三区欧美| 一区二区三区精品视频在线观看| 久久三级视频| 麻豆免费精品视频| 激情婷婷久久| 久久夜色精品国产| 欧美v国产在线一区二区三区| 一区二区在线不卡| 久久九九久精品国产免费直播| 久久久久久尹人网香蕉| 国产一区二区精品久久99| 篠田优中文在线播放第一区| 欧美亚洲综合在线| 国产日韩精品视频一区二区三区| 欧美va亚洲va国产综合| 午夜精品视频在线观看| 91久久线看在观草草青青| 久久九九国产| 久久夜色精品国产噜噜av| 国产色爱av资源综合区| 欧美尤物一区| 蜜桃精品久久久久久久免费影院| 国外精品视频| 看欧美日韩国产| 欧美激情中文字幕乱码免费| 亚洲日本电影| 欧美日韩免费观看中文| 一区二区三区国产精品| 欧美一区二区在线免费播放| 国内一区二区在线视频观看| 久久久一区二区| 亚洲日本中文字幕免费在线不卡| 亚洲无人区一区| 国产一区二区黄| 牛牛影视久久网| 一本色道久久88精品综合| 午夜日韩av| 在线日韩av片| 欧美午夜女人视频在线| 久久av在线| 日韩一区二区精品在线观看| 欧美一级久久久| 最新中文字幕亚洲| 国产毛片一区二区| 欧美成人视屏| 欧美一区=区| 亚洲激情av在线| 亚洲欧美日本伦理| 亚洲福利在线看| 欧美性色aⅴ视频一区日韩精品| 午夜精品视频在线| 亚洲精品欧美日韩专区| 香蕉成人久久| 亚洲日本成人女熟在线观看| 国产精品色午夜在线观看| 免费成人性网站| 亚洲欧美日韩国产一区二区三区| 欧美成人免费在线| 久久成人精品电影| 亚洲午夜激情网站| 亚洲人成免费| 在线播放豆国产99亚洲| 国产精品一区二区男女羞羞无遮挡 | 一本到高清视频免费精品| 久久亚洲美女| 久久国产福利国产秒拍| 在线亚洲电影| 亚洲精品国精品久久99热| 国产亚洲精品一区二区| 欧美激情一区二区三区四区| 欧美一区二区三区在线观看| 一本色道久久88亚洲综合88| 亚洲动漫精品| 欧美国产视频日韩| 欧美承认网站| 免费在线播放第一区高清av| 欧美影院精品一区| 亚洲综合日韩| 亚洲午夜在线观看|