Hibernate 如何取存储过程的Output参数和ReturnValue

庚武讲堂 庚武讲堂 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如题,
本人需求是:hibernate调用一个存储过程,传入pageIndex,和pageSize,用一个ouput类型或者returnValue参数,返回符合条件的总记录数。

List list = hibernateTemplate.executeFind(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query q= session.createSQLQuery("{call P_TEST_OUTPUT_RETURN(:a,:b,:c)}");
q.setInteger("a", 1);
q.setInteger("b", 2);
q.setParameter("c", 0);

List result = q.list(); //如何取ouput参数c的值???

return result;
}
});

网上资料有说可以用CallableStatement cs = dataSource.getConnection().prepareCall(proc3StoredProcedure);
cs.setString(1, yourName);
cs.registerOutParameter(2, java.sql.Types.VARCHAR);
但是这样不方便的地方是得自己去映身结果集,转为对象,不喜欢这种做法。
请有这方面经验的朋友帮忙一下,谢谢~!
紧急,可行的话,马上结帖~~!!
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
庚武讲堂
Java EE 67,535 成员 225,843 内容