由于项目须要,最近一直在学习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