dengzh 发表于 2013-2-3 10:34:39

在Hibernate中使用带输出参数的存储过程

使用方法如下
我是使用的变量名称来注册的,还没有试使用变量的顺序来注册
其中 Find_Space_User_Property(?,?,?,?,?,?,?,?,?,?)为存储过程
这个存储过程带有1个输入参数,9个输出参数
具体的参数绑定方法如下所示
Transactiontx=session.beginTransaction();                  CallableStatement cstmt = session.connection().prepareCall("{call Find_Space_User_Property(?,?,?,?,?,?,?,?,?,?) }");                cstmt.setInt("@userId", userId);                cstmt.registerOutParameter("@guestCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@blogCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@picCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@messageCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@giftCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@clanMemberCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@goodsCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@usersFriendOnLineCount", java.sql.Types.INTEGER);                cstmt.registerOutParameter("@usersFriendCount", java.sql.Types.INTEGER);                cstmt.executeUpdate();                tx.commit();                cstmt.getInt("@guestCount");//这里是得到输出参数"@guestCount"  
页: [1]
查看完整版本: 在Hibernate中使用带输出参数的存储过程