`
rainsun
  • 浏览: 7710 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Mybatis处理存储过程返回的游标需要怎么配置

阅读更多
目标:调用存储过程,该存储过程有一个入参(类型 long),一个出参(类型 cursor),从这个cursor中取出一个List。

存储过程:
CREATE OR REPLACE PROCEDURE GET_SOMETHING(
    SOME_NUMBER     IN NUMBER  DEFAULT 30,
    RC1 	IN OUT globalPkg.RCT1){

OPEN RC1 FOR SELECT field1, field2 FROM some_table WHERE some_conditions;

}


Java类:
public interface SomethingMapperDao { 
   
public void getSomething(SomeBean someBean);
    
}

SomeBean 是方法的参数,也是存放返回结果的地方
public class SomeBean {

private long someNumber;
private List<Something> someList;

// getters and setters

}

xml 配置文件
<resultMap id="SomethingMap" type="Something">
         <!-- id and properties -->
</resultMap> 
  
<update id="getSomething" parameterType="SomeBean" statementType="CALLABLE">
{CALL GET_SOMETHING(#{someNumber}, #{someList, mode=OUT, jdbcType=CURSOR, javaType=ResultSet, resultMap=SomethingMap}  )}        
</update>

java调用方法
SomeBean someBean =  new SomeBean();
someBean.setNum(aNumber);
SomethingMapperDao.getSomething(someBean);
return someBean.getList();

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics