您的位置:首页 > 数据库 > Oracle

Mybatis调用Oracle的存储过程

2013-07-24 16:48 381 查看
如何使用Mybaits调用数据库中的存储过程,下面以Oracle数据库的为例:

1.在数据库中创建以下的存储过程:





2.编写SQL映射文件WxclDAO.xml:





<select id="selectWxcl2" parameterType="java.util.Map" statementType="CALLABLE">
<![CDATA[
call pro_wxcl(#{result,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=WxclMap},
#{wxclid,mode=IN,jdbcType=VARCHAR})
]]>
</select>

其中statementType="CALLABLE"表示要调用存储过程,parameterType参数类型;
jdbcType对应数据库中的数据类型,javaType对应代码中的数据类型,resultMap表示结果集‘WxclMap’
定义了返回的数据类型

3.编写JAVA代码调用存储过程:

public class WxclServiceImpl implements WxclService {
private WxclDAO wxclDAO;
public void setWxclDAO(WxclDAO wxclDAO) {
this.wxclDAO = wxclDAO;
}
@SuppressWarnings("unchecked")
public List<WxclDto> selectWxcl2(WxclBean wxclBean){
// 用作传参和接受返回值
Map<String, Object> params = new HashMap<String, Object>();
params.put("wxclid", "121212");
// 将返回值保存到List中
List<WxclDto> resultList= new ArrayList<WxclDto>();
wxclDAO.selectWxcl2(params);
// 结果集保存在params中通过获取KEY值取得结果
resultList=(List<WxclDto>) params.get("result");
return resultList;
}

4.运行结果图:




本文出自 “JAVA” 博客,请务必保留此出处http://mingxf.blog.51cto.com/7618732/1256322
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: