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

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

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();
            }
        }
    }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品午夜中文字幕熟女人妻在线 | 午夜影院h| 青青青在线视频 | 亚洲欧美自偷自拍另类小说 | 久久永久影院免费 | 无码AV免费精品一区二区三区 | a免费看 | 日本不卡高清免费v日本 | 国产精品怡红院在线观看 | 98免费视频 | 天天乐影院 | 秀婷程仪公欲息肉婷在线观看 | 日韩在线观看网站 | 卫生间被教官做好爽HH视频 | 好大好硬抽搐好爽想要 | 国产99在线a视频 | 日本视频在线观看 | 女娃开嫩苞经历小说 | 91精品国产91久久 | 日韩欧美一区二区三区中文精品 | 精品人伦一区二区三区潘金莲 | 99热这里有免费国产精品 | 天美网站传媒入口网址 | 国产精品免费观在线 | 日本久本草精品 | 午夜欧美精品久久久久久久久 | 农村老少伦小说 | 窝窝影院午夜色在线视频 | 舔到喷水 | 成人中文字幕在线观看 | 91免费精品国自产拍在线可以看 | 91亚洲精品国产自在现线 | 秋霞理论最新三级理论最 | 闺蜜调教我做她的脚奴 | gayrb免费漫画入口 | 草莓香蕉绿巨人丝瓜榴莲污在线观看 | 成人国产在线视频在线观看 | 九九九国产视频 | 色综合久久九月婷婷色综合 | 黑人巨大初黑人解禁作品 | 国产美女做爰免费视频网址 |