dglixiaojiang 2010-01-03 21:54
浏览 257
已采纳

有关oracle 11g一个存储过程返回单个值,想在hibernate中调用????

首先说明,我不想使用JDBC来操作!
费话不多说:
1.存储过程是这样,我想根据用户名和密码去数据查询,如果存在返回1,不存在返回0.如下:

CREATE OR REPLACE PROCEDURE PROC_FINDUSERCOUNT--查询是否存在一个用户的存储过程(我在PL/SQL工具中测试通过)
(
PARM_OUT OUT NUMBER, --输出参数
PARM_LOGINNAME IN VARCHAR, --输入参数:用户名
PARM_LOGINPWD IN VARCHAR --输入参数:密码
)
AS
BEGIN
SELECT COUNT(*) INTO PARM_OUT FROM MANOPERATIONINFO WHERE LOGINNAME=PARM_LOGINNAME AND LOGINPWD=PARM_LOGINPWD; END PROC_FINDUSERCOUNT;

2.现在我是用SH框架+Flex来开发,想在hibernate中调用,我目前写的代码如下:

(1---hbm.xml)配置如下:



{ call PROC_FINDUSERCOUNT(?,:PARM_LOGINNAME,:PARM_LOGINPWD) }

(2---DAO类调用)如下:
public int findUserCount_proc(String loginName, String loginPwd) {
Query query = this.getCurrentSession().getNamedQuery("PROC_FINDUSERCOUNT");
query.setParameter("PARM_LOGINNAME", loginName);
query.setParameter("PARM_LOGINPWD", loginPwd);
// 单个值该怎么返回结果????
//Object object = query.uniqueResult();
return 1;
}

因为我之前用游标返回一个结果集都成功了,(用游标就直接是query.list())但是返回单个值,不知道怎么处理,请各位指点指点.............

还有就是如果我要修改,删除.那么该怎么配置?

展开全部

  • 写回答

1条回答 默认 最新

  • yjailj 2010-01-05 08:53
    关注

    hibernate 将查询结果放在一个由数组构成的 list 中

    [code="java"]for (int i = 0; i < list.size(); i++) {
    Object[] obj = (Object[]) list.get(i);

    for(Object o : obj) {
        System.out.println(o);
    }
    

    }[/code]

    如果只有一个值, 可以直接使用 get(0)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 pycharm倒入虚拟环境的时候,显示这个,但是我的虚拟环境已经创建了
  • ¥15 FPGA芯片60进制计数器
  • ¥15 前端js怎么实现word的.doc后缀文件在线预览
  • ¥20 macmin m 4连接iPad
  • ¥15 DBIF_REPO_SQL_ERROR
  • ¥15 根据历年月数据,用Stata预测未来六个月汇率
  • ¥15 DevEco studio开发工具 真机联调找不到手机设备
  • ¥15 请教前后端分离的问题
  • ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet
  • ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部