由於項目須要,最近一直在學習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