Mybatis调用oracle存储过程错误问题 Mybatis 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的输出参数在程序中没有传入!!!//从游标返回结果集public ResultSet getCursor(String dname){try{......stmt =(CallableStatement )conn.prepareCall("call pro_dept(?,?)");stmt.setString(1,dname);//注册游标对象类型stmt.registerOutParameter(2,OracleTypes.CURSOR);stmt.execute();//返回结果集ResultSet Rs=(ResultSet)stmt.getObject(2);}catch(Exception e){}return Rs;} 谢谢,刚刚我按照你说的将代码进行了下修改,但是还是报了in或out索引丢失:Map<String, Object> param = new HashMap<String, Object>();param.put("dname", "A");//在这将一个游标类型传过去param.put("depts", OracleTypes.CURSOR); procedureDao.callProcedure1你这个方法里面是怎么弄的? 下面是接口和实现类public interface IProcedureDao { List<Dept> callProcedure1(Map<String,Object> param); }public class ProcedureDaoImpl implements IProcedureDao { @Override public List<Dept> callProcedure1(Map<String, Object> param) { // TODO Auto-generated method stub SqlSession session = MybatisUtil.currentSession(); IProcedureDao procedureDao = session.getMapper(IProcedureDao.class); List<Dept> depts = procedureDao.callProcedure1(param); MybatisUtil.closeSession(); return depts; }} 额,这个接口就是和Mapper文件形成映射,然后通过实现类调用难道不是这样的吗? 谢谢你了,问题现在已经解决了。是我忘记加一个属性了,还有就是如果我传游标类型参数过去也是可行的。还是非常感谢你的。结贴了statementType="CALLABLE" 楼主,求java部分,和xml部分,代码,,我按照你上面代码出不来 大神们,我已经提问问题了,,知道了来这里回答下http://bbs.csdn.net/topics/390866155?page=1#post-398024126 楼主您的发件我这里没有收到额能不能再发下,代码贴到我那个帖子里,或者文件的话发我qq邮箱吧,[email protected] cxf web服务启动报错 推荐下学 ext的视频,最好能给个链接 hibernate 同一个类中出现 一对多 多对一 怎么处理啊 如何实现打印功能? 各位,有一个问题一直困饶着我,大家出点意见~~让我有一选择~~~!!! 我在本地建一个服务器(Tomcat)有问题请教! 80分求tomcat DBCP配置 Tomcat配置。 两个问题(有关用Jbuiler7+weblogic7开发CMP)(100分) 已知和 求三位数 两个Activity传递Intent问题?求助! Struts2整合EasyUI datagrid读取数据问题
public ResultSet getCursor(String dname)
{
try
{
......
stmt =(CallableStatement )conn.prepareCall("call pro_dept(?,?)");
stmt.setString(1,dname);
//注册游标对象类型
stmt.registerOutParameter(2,OracleTypes.CURSOR);
stmt.execute();
//返回结果集
ResultSet Rs=(ResultSet)stmt.getObject(2);
}
catch(Exception e)
{
}
return Rs;
}
谢谢,刚刚我按照你说的将代码进行了下修改,但是还是报了in或out索引丢失:Map<String, Object> param = new HashMap<String, Object>();
param.put("dname", "A");
//在这将一个游标类型传过去
param.put("depts", OracleTypes.CURSOR);
你这个方法里面是怎么弄的?
下面是接口和实现类public interface IProcedureDao {
List<Dept> callProcedure1(Map<String,Object> param);
}public class ProcedureDaoImpl implements IProcedureDao { @Override
public List<Dept> callProcedure1(Map<String, Object> param) {
// TODO Auto-generated method stub
SqlSession session = MybatisUtil.currentSession();
IProcedureDao procedureDao = session.getMapper(IProcedureDao.class);
List<Dept> depts = procedureDao.callProcedure1(param);
MybatisUtil.closeSession();
return depts;
}}
额,这个接口就是和Mapper文件形成映射,然后通过实现类调用难道不是这样的吗?
谢谢你了,问题现在已经解决了。是我忘记加一个属性了,还有就是如果我传游标类型参数过去也是可行的。还是非常感谢你的。结贴了statementType="CALLABLE"
http://bbs.csdn.net/topics/390866155?page=1#post-398024126