Jfinal調用Orcale存儲過程

由於項目須要,最近一直在學習Orcale存儲過程,但發如今網上不多有人寫Jave中Jfinal調用Orcale存儲過程的文章,即便有也是幾年前的,不少都不能用,今天給你們分享一段Jfinal調用Orcale存儲過程的代碼,親測有效。廢話很少說直接上代碼:markdown

public void runCountProc() {
        Object o = Db.execute(new ICallback() {
            @Override
            public Object call(Connection conn) throws SQLException {
                CallableStatement proc = conn.prepareCall("{call proc_normalcount(?,?,?,?,?)}");
                proc.registerOutParameter(1, OracleTypes.VARCHAR);
                proc.registerOutParameter(2, OracleTypes.VARCHAR);
                proc.registerOutParameter(3, OracleTypes.VARCHAR);
                proc.registerOutParameter(4, OracleTypes.VARCHAR);
                proc.registerOutParameter(5, OracleTypes.VARCHAR);
                proc.execute();
                //代碼來到這裏就說明你的存儲過程已經調用成功,若是有輸出參數,接下來就是取輸出參數的一個過程
                Record record = new Record();
                //國稅有稅源無
                record.set("GSYSYW",proc.getObject(1));
                //國稅無稅源有
                record.set("GSWSYY",proc.getObject(2));
                //識別號不一樣名稱相同
                record.set("SBHBTMCT",proc.getObject(3));
                //識別號相同名稱不一樣
                record.set("SBHTMCBT",proc.getObject(4));
                //識別號名稱都相同
                record.set("SBHMCXT",proc.getObject(5));
                setAttr("Count",record);
                return proc;
            }
        });
    }

代碼過了proc.execute();後就說明你的存儲過程已經調用成功,若是有輸出參數,接下來就是取輸出參數的過程。app

相關文章
相關標籤/搜索