使用Jorm处理Oracle存储过程返回多个游标

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 17:11 点击:

> 引言
日常开发中,使用Oracle存储过程,有时候会处理返回多个游标的情况,下面介绍使用 Jorm 框架来处理这一情况

> 数据库准备
1.表
CREATE TABLE `t_user` (               
        `id` int(11) NOT NULL,              
        `name` varchar(50) DEFAULT NULL,    
        `sex` char(4) DEFAULT NULL,         
        `age` int(11) DEFAULT NULL,         
        `career` varchar(100) DEFAULT NULL, 
        PRIMARY KEY (`id`)                  
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.存储过程
-- 定义存储过程
CREATE OR REPLACE PROCEDURE pro_query_users
(
--参数IN表示输入参数,OUT表示输入参数,类型可以使用任意Oracle中的合法类型。
 in_id IN NUMBER,
 out_cursor_one OUT package_one.cursor_one,
 out_cursor_two OUT package_two.cursor_two    
)
AS
--定义变量
 vs_id_value   NUMBER;  --变量
 
BEGIN
 --用输入参数给变量赋初值。
 vs_id_value:= in_id;

 OPEN out_cursor_one FOR SELECT * FROM t_user WHERE id > vs_id_value;
 
 OPEN out_cursor_two FOR SELECT * FROM t_user WHERE name LIKE '%a%';
 
 --错误处理部分。OTHERS表示除了声明外的任意错误。SQLERRM是系统内置变量保存了当前错误的详细信息。
Exception
   WHEN OTHERS Then
   ROLLBACK;
   Return;
End pro_query_users;

> 代码
1.实体类 User.java

import org.javaclub.jorm.annotation.Entity;
import org.javaclub.jorm.annotation.Id;
import org.javaclub.jorm.annotation.NoColumn;
import org.javaclub.jorm.annotation.PK;

@Entity(table = "t_user", lazy = true)
@PK(value = "id")
public  class  User  {

    @Id
    private int id;

    private String name;

    private String sex;

    private Integer age;

    private String career;

    @NoColumn
    private int kvalue;

    public User() {
        super();
    }

    public User(String name, String sex, Integer age, String[] career) {
        super();
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.career = career;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Table函数使用简介
    • Oracle数据库Constraint约束的常用操作及异常处理
    • Bulk Collect性能分析(zz)
    • export/import的使用
    • OCP043第十五讲 Database Security
    • ORACLE10gr2数据导入MySQL方案
    • oracle 让sys用户可以使用isqlplus
    • 在oracle数据库下使用iSQL*Plus DBA访问数据库
    • Oracle行列转换小结
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1