bboss persistent框架调用存储过程的返回结果为xml串的使用方法

bboss persistent框架可以将存储过程的out参数返回的值封装成xml格式化串返回给调用程序,本文档介绍这种使用方法.
xml的语法如下:

<?xml version="1.0" encoding="gb2312"?>
<records> --返回记录集的根节点
    <record> --具体的记录的起点,存储过程只有一条记录集
        <column name="name" type="VARCHAR" javatype="String">--记录中的列信息和值,包括列名,列对应java类型和表字段类型
            <![CDATA[hello name]]>--列的值
        </column>
        <column name="name1" type="VARCHAR" javatype="String">
            <![CDATA[hello name1]]>
        </column>
        <column name="test" type="INTEGER" javatype="int">
            <![CDATA[10]]>
        </column>
    </record>
</records>

 

java代码段:

import com.frameworkset.common.poolman.CallableDBUtil;
。。。。。。
CallableDBUtil callableDBUtil = new CallableDBUtil();
try
{
    callableDBUtil.prepareCallable("{call test_p(?,?,?,?)}");
        //不允许的操作: Ordinal binding and Named binding cannot be combined!
  callableDBUtil.setInt("id", 10);
  callableDBUtil.registerOutParameter("name", java.sql.Types.VARCHAR);
    callableDBUtil.registerOutParameter("name1", java.sql.Types.VARCHAR);
    callableDBUtil.registerOutParameter("test", java.sql.Types.INTEGER);
    String xmlString = callableDBUtil.executeCallableForXML();
    System.out.println("xmlString:/r/n" + xmlString);

}
catch(Exception e)
{
        e.printStackTrace();
}


执行上述代码的输出为:

xmlString:
<?xml version="1.0" encoding="gb2312"?>
<records>
    <record>
        <column name="name" type="VARCHAR" javatype="String">
            <![CDATA[hello name]]>
        </column>
        <column name="name1" type="VARCHAR" javatype="String">
            <![CDATA[hello name1]]>
        </column>
        <column name="test" type="INTEGER" javatype="int">
            <![CDATA[10]]>
        </column>
    </record>
</records>


存储过程的定义如下:
CREATE OR REPLACE PROCEDURE test_p(id in number,
                                   name out varchar2
                                   ,name1 out varchar2,test out number) IS

BEGIN
   --tmpVar := 0;
   name := 'hello name';
   name1 := 'hello name1';
   test := id;
 
   commit;
  
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    NULL;
  WHEN OTHERS THEN
    -- Consider logging the error and then re-raise
    RAISE;
END test_p;

 

bboss项目下载列表 在sourceforge访问地址为:
https://sourceforge.net/project/showfiles.php?group_id=238653

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值