因為項目需要,最近一直在學習Orcale存儲過程,但發現在網上很少有人寫Jave中Jfinal調用Orcale存儲過程的文章,即使有也是幾年前的,很多都不能用,今天給大家分享一段Jfinal調用Orcale存儲過程的代碼,親測有效。廢話不多說直接上代碼:
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();
后就說明你的存儲過程已經調用成功,如果有輸出參數,接下來就是取輸出參數的過程。