<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-59  評論-31  文章-0  trackbacks-0
    oracle腳本:drop table t_student cascade constraints;

    /*==============================================================*/
    /* Table: t_student                                           */
    /*==============================================================*/
    create table t_student  (
       s_id              
    char(10)                        not null,
       s_name             varchar2(
    20)                    not null,
       s_age              
    char(2)                         not null,
       s_sex              
    char(2)                         not null,
       s_class            varchar2(
    20),
       constraint PK_T_STUDENT primary key (s_id)
    );

    insert into t_student values(
    '0001','張三','20','','08級二班') ;
    insert into t_student values(
    '0002','李四','21','','08級二班') ;
    insert into t_student values(
    '0003','王五','20','','08級二班') ;
    insert into t_student values(
    '0004','趙柳','20','','08級一班') ;
    insert into t_student values(
    '0005','楊梅','21','','08級二班') ;
    insert into t_student values(
    '0006','劉海','23','','08級一班') ;
    insert into t_student values(
    '0007','孫江','20','','08級一班') ;
    insert into t_student values(
    '0008','蘇燦','22','','08級二班') ;
    insert into t_student values(
    '0009','王霞','23','','08級一班') ;
    insert into t_student values(
    '0010','王猛','22','','08級二班') ;
    insert into t_student values(
    '0011','張相','22','','08級一班') ;
    insert into t_student values(
    '0012','香橙','20','','08級一班') ;
    insert into t_student values(
    '0013','李心','21','','08級二班') ;
    insert into t_student values(
    '0014','張強','20','','08級一班') ;
    insert into t_student values(
    '0015','趙琳','21','','08級一班') ;
    insert into t_student values(
    '0016','劉達(dá)','21','','08級二班') ;
    insert into t_student values(
    '0017','蘇惠','20','','08級二班') ;
    insert into t_student values(
    '0018','賈瑞','20','','08級一班') ;
    insert into t_student values(
    '0019','谷瑞坤','22','','08級二班') ;
    insert into t_student values(
    '0020','祥還','21','','08級一班') ;
    commit;

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

    import java.sql.*;

    public class DbUtil {

        
    private static final String driver = "oracle.jdbc.driver.OracleDriver" ;
        
    private static final String url = "jdbc:oracle:thin:@10.10.10.2:1521:orcl" ;
        
    private static final String username = "test" ;
        
    private static final String password = "test" ;
        
    public static Connection getConnection(){
            Connection conn 
    = null ;
            
    try{
                Class.forName(driver) ;
                conn 
    = DriverManager.getConnection(url, username, password) ;
            }
    catch(Exception e){
                e.printStackTrace() ;
            }
            
    return conn ;
        }

        
    public static void close(Connection conn) {
            
    if (conn != null) {
                
    try {
                    conn.close();
                } 
    catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        
        
    public static void close(PreparedStatement pstmt) {
            
    if (pstmt != null) {
                
    try {
                    pstmt.close();
                } 
    catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        
        
    public static void close(ResultSet rs ) {
            
    if (rs != null) {
                
    try {
                    rs.close();
                } 
    catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        
    public static void main(String[] args) {
            System.out.println(DbUtil.getConnection());
        }
    }

    創(chuàng)建學(xué)生實體類:package com.stmcc.test;

    public class Student {

        
    private String s_id ;
        
    private String s_name ;
        
    private String s_age ;
        
    private String s_sex ;
        
    private String s_class ;
        
    public String getS_id() {
            
    return s_id;
        }
        
    public void setS_id(String s_id) {
            
    this.s_id = s_id;
        }
        
    public String getS_name() {
            
    return s_name;
        }
        
    public void setS_name(String s_name) {
            
    this.s_name = s_name;
        }
        
    public String getS_age() {
            
    return s_age;
        }
        
    public void setS_age(String s_age) {
            
    this.s_age = s_age;
        }
        
    public String getS_sex() {
            
    return s_sex;
        }
        
    public void setS_sex(String s_sex) {
            
    this.s_sex = s_sex;
        }
        
    public String getS_class() {
            
    return s_class;
        }
        
    public void setS_class(String s_class) {
            
    this.s_class = s_class;
        }
    }

    創(chuàng)建學(xué)生管理類:package com.stmcc.test.util;

    import com.stmcc.test.*;
    import java.sql.* ;
    import java.util.*
    public class StuManager {

        
    private static StuManager instance = new StuManager() ;
        
        
    private StuManager(){} ;
        
        
    public static StuManager getInstance(){
            
    return instance ;
        }
    //  oracle實現(xiàn)分頁的查詢語句
    //    select s_id, s_name, s_age, s_sex, s_class
    //    from
    //    (
    //      select rownum rn, s_id, s_name, s_age, s_sex, s_class
    //      from
    //        (select s_id, s_name, s_age, s_sex, s_class 
    //         from t_student order by s_id
    //        )where rownum <= 10
    //    )where rn > 5 ;
        public PageModel findStudentList(int pageNo, int pageSize){
            PageModel pageModel 
    = null ;
            StringBuffer sql 
    = new StringBuffer() ;
            sql.append(
    "select s_id, s_name, s_age, s_sex, s_class ")
                .append(
    "from")
                .append(
    "(")
                .append(
    "select rownum rn, s_id, s_name, s_age, s_sex, s_class ")
                .append(
    "from")
                .append(
    "(")
                .append(
    "select s_id, s_name, s_age, s_sex, s_class ")
                .append(
    "from t_student order by s_id")
                .append(
    ")")
                .append(
    "where rownum <= ?")
                .append(
    ")")
                .append(
    "where rn > ? ");
            Connection conn 
    = null ;
            PreparedStatement pstmt 
    = null ;
            ResultSet rs 
    = null ;
            
    try{
                conn 
    = DbUtil.getConnection() ;
                pstmt 
    = conn.prepareStatement(sql.toString()) ;
                pstmt.setInt(
    1, pageNo*pageSize) ;
                pstmt.setInt(
    2, (pageNo - 1)*pageSize) ;
                rs 
    = pstmt.executeQuery() ;
                List
    <Student> stuList = new ArrayList<Student>() ;
                
    while (rs.next()){
                    Student stu 
    = new Student() ;
                    stu.setS_id(rs.getString(
    "s_id")) ;
                    stu.setS_name(rs.getString(
    "s_name")) ;
                    stu.setS_age(rs.getString(
    "s_age")) ;
                    stu.setS_sex(rs.getString(
    "s_sex")) ;
                    stu.setS_class(rs.getString(
    "s_class")) ;
                    stuList.add(stu) ;
                }
                pageModel 
    = new PageModel() ;
                pageModel.setList(stuList) ;
                pageModel.setTotalRecords(getTotalRecords(conn)) ;
                pageModel.setPageSize(pageSize);
                pageModel.setPageNo(pageNo);
            }
    catch(Exception e){
                e.printStackTrace() ;
            }
    finally{
                DbUtil.close(rs) ;
                DbUtil.close(pstmt) ;
                DbUtil.close(conn) ;
            }
            
    return pageModel ;
        }
        
    /**
         * 取得總記錄數(shù)
         * 
    @param conn
         * 
    @return
         
    */
        
    private int getTotalRecords(Connection conn) 
        
    throws SQLException {
            String sql 
    = "select count(*) from t_student";
            PreparedStatement pstmt 
    = null;
            ResultSet rs 
    = null;
            
    int count = 0;
            
    try {
                pstmt 
    = conn.prepareStatement(sql);
                rs 
    = pstmt.executeQuery();
                rs.next();
                count 
    = rs.getInt(1);
            }
    finally {
                DbUtil.close(rs);
                DbUtil.close(pstmt);
            }
            
    return count;
        }
    }

    創(chuàng)建分頁模型類實現(xiàn)業(yè)務(wù)邏輯:package com.stmcc.test.util;

    import java.util.* ;
    public class PageModel {

        
    //結(jié)果集
        private List list ;
        
        
    //查詢總記錄數(shù)
        private int totalRecords ;
        
        
    //每頁多少條數(shù)據(jù)
        private int pageSize ;
        
        
    //第幾頁
        private int pageNo ;
        
        
    /**
         * 總頁數(shù)
         * 
    @return
         
    */
        
    public int getTotalPages(){
            
    return (totalRecords + pageSize -1/ pageSize ;
        }
        
        
    /**
         * 取得首頁
         * 
    @return
         
    */
        
    public int getTopPageNo(){
            
    return 1 ;
        }
        
        
    /**
         * 上一頁
         * 
    @return
         
    */
        
    public int getPreviousPageNo(){
            
    if(pageNo <= 1){
                
    return 1 ;
            }
            
    return pageNo - 1 ;
        }
        
        
    /**
         * 下一頁
         * 
    @return
         
    */
        
    public int getNextPageNo(){
            
    if(pageNo >= getBottomPageNo()){
                
    return getBottomPageNo() ;
            }
            
    return pageNo + 1 ;
        }
        
        
    /**
         * 取得尾頁
         * 
    @return
         
    */
        
    public int getBottomPageNo(){
            
    return getTotalPages() ;
        }

        
    public List getList() {
            
    return list;
        }

        
    public void setList(List list) {
            
    this.list = list;
        }

        
    public int getTotalRecords() {
            
    return totalRecords;
        }

        
    public void setTotalRecords(int totalRecords) {
            
    this.totalRecords = totalRecords;
        }

        
    public int getPageSize() {
            
    return pageSize;
        }

        
    public void setPageSize(int pageSize) {
            
    this.pageSize = pageSize;
        }

        
    public int getPageNo() {
            
    return pageNo;
        }

        
    public void setPageNo(int pageNo) {
            
    this.pageNo = pageNo;
        }
    }

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

    <%@ page import="com.stmcc.test.util.*"%>
    <%@ page import="com.stmcc.test.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.util.*"%>
    <html>
    <head><title>分頁展示</title></head>
    <%
        
    int pageNo = 1 ;
        
    int pageSize = 5 ;
        String pageNoString 
    = request.getParameter("pageNo") ;
        
    if(pageNoString != null){
            pageNo 
    = Integer.parseInt(pageNoString) ;
        }
        PageModel pageModel 
    = StuManager.getInstance().findStudentList(pageNo,pageSize) ;
    %>
    <script type="text/javaScript">
        function topPage() {
            window.self.location 
    = "student.jsp?pageNo=<%=pageModel.getTopPageNo()%>";
        }
        
        function previousPage() {
            window.self.location 
    = "student.jsp?pageNo=<%=pageModel.getPreviousPageNo()%>";
        }    
        
        function nextPage() {
            window.self.location 
    = "student.jsp?pageNo=<%=pageModel.getNextPageNo()%>";
        }
        
        function bottomPage() {
            window.self.location 
    = "student.jsp?pageNo=<%=pageModel.getBottomPageNo()%>";
        }
    </script>
    <body>
    <center>
      
    <table border="1">
      
    <tr>
          
    <td>學(xué)生編號</td>
          
    <td>學(xué)生姓名</td>
          
    <td>學(xué)生年齡</td>
          
    <td>學(xué)生性別</td>
          
    <td>學(xué)生班級</td>
      
    </tr>
      
    <%
          List stuList 
    = pageModel.getList() ;
          
    for(Iterator<Student> iter = stuList.iterator(); iter.hasNext();){
              Student stu 
    = iter.next() ;
      
    %>
      
    <tr>
          
    <td><%=stu.getS_id() %></td>
          
    <td><%=stu.getS_name() %></td>
          
    <td><%=stu.getS_age() %></td>
          
    <td><%=stu.getS_sex() %></td>
          
    <td><%=stu.getS_class() %></td>
      
    </tr>
      
    <%
          }
      
    %>
      
    <tr><td colspan="5">
          共
    &nbsp;<%=pageModel.getTotalPages() %>&nbsp;頁&nbsp;&nbsp;&nbsp;&nbsp;
          當(dāng)前第
    &nbsp;<%=pageModel.getPageNo() %>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      
    <input type="button" value="首頁" onClick="topPage()">
      
    <input type="button" value="上一頁" onClick="previousPage()">
      
    <input type="button" value="下一頁" onClick="nextPage()">
      
    <input type="button" value="尾頁" onClick="bottomPage()">
      
    </td></tr>
      
    </table>
    </center>
    </body>
    </html>
    posted on 2012-01-31 13:25 RoyPayne 閱讀(2249) 評論(2)  編輯  收藏 所屬分類: jsp相關(guān)

    評論:
    # re: jsp+oracle實現(xiàn)簡單的分頁[未登錄] 2013-04-18 09:56 | 1
    請問,帶參數(shù)怎么做分頁  回復(fù)  更多評論
      
    # re: jsp+oracle實現(xiàn)簡單的分頁[未登錄] 2013-04-18 10:46 | 1
    參數(shù)問題解決。  回復(fù)  更多評論
      
    主站蜘蛛池模板: 精品亚洲视频在线| 亚洲综合一区二区精品导航| 日本亚洲欧美色视频在线播放| 国产精品亚洲一区二区在线观看| 亚洲宅男精品一区在线观看| 亚洲不卡1卡2卡三卡2021麻豆| 亚洲精品高清国产麻豆专区| 亚洲福利视频网址| 亚洲国产精品人久久电影 | 国产99视频精品免费视频76| 一级毛片免费播放视频| 一级特黄aaa大片免费看| 精品人妻系列无码人妻免费视频| 香蕉免费一级视频在线观看| 免费人成激情视频在线观看冫| 免费日本一区二区| 67194国产精品免费观看| 日本免费网址大全在线观看| 免费国产黄线在线观看| 成人免费一区二区三区在线观看| 天天拍拍天天爽免费视频| 全免费A级毛片免费看网站| 吃奶摸下高潮60分钟免费视频| 亚洲国产aⅴ综合网| 亚洲国产婷婷六月丁香| 中文字幕亚洲色图| 亚洲综合在线一区二区三区 | 久久久青草青青亚洲国产免观| 亚洲成AV人片在线观看ww| 麻豆亚洲AV永久无码精品久久| 亚洲国产精品综合久久网各 | 久久久久亚洲Av无码专| 成人亚洲国产va天堂| 免费在线观看亚洲| 18禁在线无遮挡免费观看网站| 亚洲免费闲人蜜桃| 免费在线观看黄网站| 国产亚洲综合色就色| 亚洲卡一卡二卡乱码新区| 一级毛片完整版免费播放一区| 久久久久久影院久久久久免费精品国产小说 |