JFinal 调用 oracle 存储过程的 步骤

JFinal 本身已经提供了 Db.execute(ICallback Callback); 的方法来调用存储过程。

下面就是演示如何进行调用      

先定义一个类  实现接口 ICallback  因为ICallback中已经有  conn 代码如下

class oracleDbPro implements ICallback {
	public String oid = null;
	public ResultSet rs = null;

	@Override
	public void run(Connection conn) throws SQLException {             
           CallableStatement proc = null;
           try {           

            proc = conn
                    .prepareCall("{ call PKG_JAVA_WEBSITEAPP_OPER.SP_ORDER_TRICE_SEARCH(?,?) }");

            proc.setString(1, oid);
            proc.registerOutParameter(2, OracleTypes.CURSOR);

            proc.execute();

            rs = (ResultSet) proc.getObject(2);

          } finally {
            DbKit.close(proc, conn);
          }
	}

}
里面的代码基本就是和普通的JAVA调用存储过程的写法是一致的了。

在controller 中 调用存储过程返回的值:代码如下

public void trackresult() {
             oracleDbPro oracleDbK = new oracleDbPro();
	      oracleDbK.oid = "010020002"; 
             Db.execute(oracleDbK);
             ResultSet rs = oracleDbK.rs;
}
这样就可以得到我们 要的 存储过程返回值了。

虽然很简单, 但是因为之前 一直不知道怎么使用 研究了很久才发现, 所以记录下来,有碰到类似问题的朋友也方便参考!

你可能感兴趣的:(jFinal)