Jave中Jfinal调用Orcale存储过程

因为项目需要,最近一直在学习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();后就说明你的存储过程已经调用成功,如果有输出参数,接下来就是取输出参数的过程。

你可能感兴趣的:(Jave中Jfinal调用Orcale存储过程)