<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','張強(qiáng)','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é)生實(shí)體類: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實(shí)現(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)建分頁模型類實(shí)現(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 閱讀(2250) 評論(2)  編輯  收藏 所屬分類: jsp相關(guān)

    評論:
    # re: jsp+oracle實(shí)現(xiàn)簡單的分頁[未登錄] 2013-04-18 09:56 | 1
    請問,帶參數(shù)怎么做分頁  回復(fù)  更多評論
      
    # re: jsp+oracle實(shí)現(xiàn)簡單的分頁[未登錄] 2013-04-18 10:46 | 1
    參數(shù)問題解決。  回復(fù)  更多評論
      
    主站蜘蛛池模板: 亚洲成无码人在线观看| 久久精品国产亚洲麻豆| 亚洲&#228;v永久无码精品天堂久久| 国产成人免费a在线资源| 不卡一卡二卡三亚洲| 亚洲国产精品自在线一区二区| 亚洲国产综合第一精品小说| 亚洲经典千人经典日产| 一级毛片成人免费看a| 久久久久久成人毛片免费看| 中文字幕av无码无卡免费| 国产一区二区免费在线| 亚洲国产美女精品久久久久∴| 老司机亚洲精品影院| 亚洲AV无码之国产精品| 中文字幕永久免费视频| 成人浮力影院免费看| 亚洲乱码国产一区网址| 亚洲黄色片在线观看| 久久久久久亚洲精品无码| 香蕉免费在线视频| 日韩精品成人无码专区免费| 亚洲男人在线无码视频| 亚洲色偷偷偷网站色偷一区| 精品国产亚洲AV麻豆| 男人j进入女人j内部免费网站| 毛片a级三毛片免费播放| 亚洲精品国产高清嫩草影院| 亚洲美女视频网站| 免费看一级高潮毛片| 91香蕉在线观看免费高清| 免费va在线观看| 亚洲高清视频免费| 免费一区二区三区在线视频| 99视频免费观看| 亚洲国产成人a精品不卡在线 | 国产精品视_精品国产免费| 精品亚洲综合久久中文字幕| 亚洲日本在线电影| 人人玩人人添人人澡免费| 国产一区二区三区免费在线观看|