struts1+hibernate+spring怎么调用Oracle函数

我使用的是struts1+hibernate+spring,
我想知道怎么在dao层调用我自定义的函数,我的函数要传入一个值还有输出一个值,值都是varchar类型的。从来没有调用过Oracle函数,哪位知道

2个回答

[code="java"]String sql = "{? = call fun_getScores(?)}";
CallableStatement cst = con.prepareCall(sql);
cst.registerOutParameter(1, Types.NUMERIC);
cst.setDouble(2, 2);
cst.execute();[/code]

wwwhongxia
愚公移码 哦,谢了,成功了
接近 8 年之前 回复
iteye_7115
iteye_7115 ?? 执行完后想得到函数的返回值,double result = cst.getDouble(1); 这样调用即可
接近 8 年之前 回复
wwwhongxia
愚公移码 cst.execute()执行这个能够访问值
接近 8 年之前 回复
iteye_7115
iteye_7115 肯定能啊,在hibernate3.3之前可以通过session.connection();方法获取;之后的替代方法我从网上找了个: SessionFactoryUtils.getDataSource(getSessionFactory()).getConnection();其实就是从配置的dataSource中获取
接近 8 年之前 回复
wwwhongxia
愚公移码 spring的dao层能得到connection吗
接近 8 年之前 回复
iteye_7115
iteye_7115 获取结果值 : double result = cst.getDouble(1);
接近 8 年之前 回复

你是继承了daosupport,要什么函数自己加就行了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问