一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java調用oracle分頁存儲過程示例

java調用oracle分頁存儲過程示例

2019-11-12 14:21java教程網 JAVA教程

這篇文章主要介紹了java調用oracle分頁存儲過程,需要的朋友可以參考下

1.分頁

復制代碼代碼如下:


package org.zh.basic;

 

/**
 * 頁面類
 * 
 * @author keven
 * 
 */
public class PageInfo {

    // 定義
    private String p_tableName; // -表名
    private String p_strWhere; // --查詢條件
    private String p_orderColumn; // --排序的列
    private String p_orderStyle; // --排序方式
    private int p_curPage; // --當前頁
    private int p_pageSize; // --每頁顯示記錄條數
    private int p_totalRecords; // --總記錄數
    private int p_totalPages; // --總頁數

    // / <summary>
    // / 定義函數
    // / </summary>
    public PageInfo() {
    }

    public PageInfo(String p_tableName, String p_strWhere,
            String p_orderColumn, String p_orderStyle, int p_curPage,
            int p_pageSize, int p_totalRecords, int p_totalPages) {
        this.p_tableName = p_tableName;
        this.p_strWhere = p_strWhere;
        this.p_orderColumn = p_orderColumn;
        this.p_orderStyle = p_orderStyle;
        this.p_curPage = p_curPage;
        this.p_pageSize = p_pageSize;
        this.p_totalRecords = p_totalRecords;
        this.p_totalPages = p_totalPages;
    }

    public String getP_tableName() {
        return p_tableName;
    }

    public void setP_tableName(String pTableName) {
        p_tableName = pTableName;
    }

    public String getP_strWhere() {
        return p_strWhere;
    }

    public void setP_strWhere(String pStrWhere) {
        p_strWhere = pStrWhere;
    }

    public String getP_orderColumn() {
        return p_orderColumn;
    }

    public void setP_orderColumn(String pOrderColumn) {
        p_orderColumn = pOrderColumn;
    }

    public String getP_orderStyle() {
        return p_orderStyle;
    }

    public void setP_orderStyle(String pOrderStyle) {
        p_orderStyle = pOrderStyle;
    }

    public int getP_curPage() {
        return p_curPage;
    }

    public void setP_curPage(int pCurPage) {
        p_curPage = pCurPage;
    }

    public int getP_pageSize() {
        return p_pageSize;
    }

    public void setP_pageSize(int pPageSize) {
        p_pageSize = pPageSize;
    }

    public int getP_totalRecords() {
        return p_totalRecords;
    }

    public void setP_totalRecords(int pTotalRecords) {
        p_totalRecords = pTotalRecords;
    }

    public int getP_totalPages() {
        return p_totalPages;
    }

    public void setP_totalPages(int pTotalPages) {
        p_totalPages = pTotalPages;
    }

}

 

2 調用

 

復制代碼代碼如下:


package org.zh.sys.server;

 

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import org.hibernate.Session;
import org.zh.basic.PageInfo;
import org.zh.dao.HibernateSessionFactory;
import oracle.jdbc.driver.OracleTypes;
import oracle.jdbc.OracleCallableStatement;


public class GeneratePage {

    public GeneratePage() {

    }

    public static ArrayList Prc_Page(PageInfo page) {
        ArrayList list = new ArrayList();
        Map mp;
        Session s = null;
        Connection conn = null;
        ResultSet rs = null;
        CallableStatement proc = null;
        try {
            s = HibernateSessionFactory.getSession();
            conn = s.connection();
            proc = conn.prepareCall("{call pages.prc_page(?,?,?,?,?,?,?,?,?)}");
            proc.setString(1, page.getP_tableName());
            proc.setString(2, page.getP_strWhere());
            proc.setString(3, page.getP_orderColumn());
            proc.setString(4, page.getP_orderStyle());
            proc.setInt(5, page.getP_curPage());
            proc.setInt(6, page.getP_pageSize());
            proc.registerOutParameter(7, OracleTypes.NUMBER);
            proc.registerOutParameter(8, OracleTypes.NUMBER);
            proc.registerOutParameter(9, OracleTypes.CURSOR);
            proc.execute();
            // page.setP_totalRecords(proc.getInt("p_totalRecords"));
            // page.setP_totalPages(proc.getInt("p_totalPages"));
            // list = (ArrayList) proc.getObject("v_cur");
            page.setP_totalRecords(proc.getInt(7));
            page.setP_totalPages(proc.getInt(8));
            rs = ((OracleCallableStatement) proc).getCursor(9); // 得到輸出結果集參數
            ResultSetMetaData rsmd = rs.getMetaData();
            int numberOfColumns = rsmd.getColumnCount();
            while (rs.next()) {
                mp = new HashMap(numberOfColumns);
                for (int r = 1; r < numberOfColumns; r++) {
                    mp.put(rsmd.getColumnName(r), rs.getObject(r));
                }
                list.add(mp);
            }
            return list;
        } catch (SQLException ex) {
            ex.printStackTrace();
            return list;
        } catch (Exception ex2) {
            ex2.printStackTrace();
            return list;
        } finally {
            try {
                if (proc != null) {
                    proc.close();
                }
                if (rs != null) {
                    rs.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException ex1) {
                ex1.printStackTrace();
            }
        }
    }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲高清日韩成人 | 国产精品成人va在线观看 | 亚洲视频一区网站 | 日韩网站在线 | 91精品国产色综合久久 | 日本在线观看a | 久久re6热在线视频 久久AV喷吹AV高潮欧美 | 99久久久久久久 | 视频高清在线观看 | 亚洲色图第四页 | 成年人视频在线免费看 | 久久免费国产 | 久久亚洲精选 | 男人与禽交的方法 | 国产在线视频一区二区三区 | 天堂成人影院 | 色综合久久夜色精品国产 | 国产精品视频在这里有精品 | 被夫上司强迫中文 | 精品国产一级毛片大全 | 四虎永久在线精品波多野结衣 | 亚洲精品在线免费观看视频 | 91精品啪在线观看国产老湿机 | 视频在线观看一区二区 | 国产精品九九久久一区hh | 成人国产精品一区二区不卡 | 久久国产香蕉 | 日韩永久在线观看免费视频 | 欧美大奶艳星 | 日日操日日舔 | 污翼鸟| а天堂中文最新版在线 | 亚洲高清国产品国语在线观看 | 天堂欧美| 99这里只有精品66视频 | 国产成人愉拍精品 | 91夜夜操| 亚洲AV蜜桃永久无码精品红樱桃 | 羞羞影院午夜男女爽爽影院网站 | 亚洲AV国产精品无码精 | 亚洲AV无码专区国产精品麻豆 |