JFinal 调用 oracle 存储过程的 步骤

来源:互联网 发布:知入与知出议论文答案 编辑:程序博客网 时间:2024/05/21 10:18

原帖地址:http://my.oschina.net/u/931157/blog/103424

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
classoracleDbPro implementsICallback {
    publicString oid = null;
    publicResultSet rs = null;
 
    @Override
    publicvoid run(Connection conn) throwsSQLException { <span></span>           
           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 中 调用存储过程返回的值:代码如下

?
1
2
3
4
5
6
publicvoid trackresult() {
             oracleDbPro oracleDbK = neworacleDbPro();
          oracleDbK.oid = "010020002";
             Db.execute(oracleDbK);
             ResultSet rs = oracleDbK.rs;
}
这样就可以得到我们 要的 存储过程返回值了。

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


0 0
原创粉丝点击