`
rainbow686
  • 浏览: 164189 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在Ibatis中调用存储过程或存储的函数

    博客分类:
  • Java
阅读更多
在Ibatis中调用存储过程或存储的函数。
和调用sql语句不同的是需要设置入参和出参
这篇文章已经说的很详细了。
http://www.delphibbs.com/keylife/iblog_show.asp?xid=28107
可是我配置的时候确怎么也得不到正确的结果,错误大致是“记录数太多”,查询了很多资料才发现原来Ibatis2.2之前是不支持存储过程返回CURSOR,所以请需要使用Ibatis调用存储过程并且获取记录集游标的同学注意了。下面帖一个我的配置:
xml 代码
 
  1. <!-- 获取用户列表 -->  
  2. <resultMap id="rm_out_getUserList" class="java.util.HashMap">  
  3.     <result property="id" column="id" />  
  4.     <result property="name" column="name" />  
  5.     <result property="gname" column="gname" />  
  6.     <result property="cname" column="cname" />  
  7. </resultMap>  
  8. <parameterMap id="pm_in_getUserList"  
  9.     class="java.util.Map">  
  10.     <parameter property="result" jdbcType="ORACLECURSOR" javaType="java.sql.ResultSet" mode="OUT" resultMap="rm_out_getUserList" />  
  11.     <parameter property="p_name" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" />  
  12.     <parameter property="p_gname" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" />  
  13.     <parameter property="p_cname" jdbcType="VARCHAR2" javaType="java.lang.String" mode="IN" />  
  14. </parameterMap>  
  15. <procedure id="getUserList"  
  16.     parameterMap="pm_in_getUserList">  
  17.     {? = call PCK_USER.F_GET_USER(?,?,?)}  
  18. </procedure>  

绿色部分要注意(配置的第一行),如果是要将结果集以map形式返回,一定要写HashMap。<resultmap background-color:="" class="&amp;lt;span style=" id="rm_out_getUserList"><result column="id" property="id"><result column="name" property="name"><result column="gname" property="gname"> <parametermap id="pm_in_getUserList"> <parameter resultmap="rm_out_getUserList" mode="OUT" javatype="java.sql.ResultSet" jdbctype="ORACLECURSOR" property="result"> <parameter mode="IN" javatype="java.lang.String" jdbctype="VARCHAR2" property="p_name"> <parameter mode="IN" javatype="java.lang.String" jdbctype="VARCHAR2" property="p_gname"></parameter> </parameter> </parametermap> </result></result></result></resultmap>
分享到:
评论

相关推荐

    Ibatis调用存储过程调用存储过程

    ### Ibatis调用存储过程详解 #### 一、引言 在实际的软件开发过程中,存储过程因其执行效率高及...这些步骤结合起来,使得开发者能够在Ibatis框架下灵活高效地使用存储过程功能,从而更好地满足复杂业务需求的处理。

    ibatIS调用存储过程

    在ibatIS中调用存储过程,我们需要了解以下步骤: 1. **配置存储过程**:在`ibatis-config.xml`配置文件中,定义数据源和事务管理器,并在`sqlMapConfig.xml`中添加对应的Mapper配置。在Mapper文件中,使用`...

    ibatis调用存储过程

    在iBATIS中调用存储过程,我们主要通过`&lt;select&gt;`标签,尽管它的名字可能让人误解,但在iBATIS中,`&lt;select&gt;`不仅可以用于查询,也可以用于调用存储过程。 1. **配置Mapper XML文件** 在iBATIS中,存储过程的调用...

    ibatis调用oracle存储过程分页

    ibatis调用oracle存储过程分页

    ibatis调用存储过程.txt

    ### 三、ibatis中调用存储过程的方法 #### 1. 配置环境 首先确保已经正确安装并配置好了ibatis框架,包括添加ibatis的jar包到项目中,配置数据源等。 #### 2. 创建存储过程 在数据库中创建一个存储过程,例如一...

    ibatis调用oracle存储过程

    在IT领域,特别是数据库操作与Java开发中,利用ibatis框架调用Oracle存储过程是一个常见的需求,这不仅能够提升代码的执行效率,还能增强应用程序的安全性。本文将深入解析ibatis如何与Oracle数据库中的存储过程进行...

    ibatis调存储过程返回游标

    通过上述步骤,我们可以看到在iBatis中调用存储过程并返回游标的基本流程。首先定义参数映射和结果映射,然后在存储过程中指定这些映射,最后调用存储过程并处理返回的游标数据。这种机制为Java应用程序提供了强大的...

    ibatis调用oracle的函数,存储过程的方法

    本篇文章将详细介绍如何在Ibatis中调用Oracle的函数和存储过程。 首先,理解基本概念: 1. **Oracle函数**:函数是一段可重复使用的PL/SQL代码,它接收输入参数(IN参数),可选地返回一个结果值(RETURN参数)。...

    IBATIS调用存储过程

    总的来说,调用Oracle存储过程并在iBATIS中处理Cursor结果集涉及多个步骤,包括定义`parameterMap`、设置正确的`jdbcType`和`javaType`、在`&lt;procedure&gt;`标签中使用正确数量的占位符以及创建`ResultMap`来解析结果。...

    ibatis与存储过程(带输出参数的应用)

    在Ibatis中调用存储过程,我们需要在映射文件中定义SQL语句,但这里的语法略有不同。对于带有输出参数的存储过程,我们需要使用`&lt;select&gt;`标签而不是通常用于查询的`&lt;resultMap&gt;`,并且使用`procedure`属性指定存储...

    ibatis调用存储过程介绍

    在Java开发中,使用iBATIS(现在称为MyBatis)作为持久层框架时,调用数据库的存储过程是一种常见的需求。本文将详细介绍如何使用iBATIS调用存储过程,并提供一个简单的示例来说明其过程。 首先,我们需要在数据库...

    iBatis调用存储过程

    iBatis调用存储过程

    IBatis查删改查与调用存储过程 mysql数据库

    "IBatis查删改查与调用存储过程 mysql数据库" 这个标题揭示了本文将深入探讨如何使用IBatis框架在MySQL数据库中执行基本的CRUD(创建、读取、更新、删除)操作,以及如何调用存储过程。IBatis是一个轻量级的Java持久...

    ibatis调用oracle的函数,存储过程的方法 IN 和OUT /游标

    本篇文章将详细探讨如何在iBatis中调用Oracle的函数和存储过程,尤其是处理IN和OUT参数以及游标的场景。 首先,我们需要了解iBatis的基本工作原理。iBatis是一个SQL映射框架,它允许开发者将SQL语句写在XML配置文件...

    ibatis官方中文文档

    在iBATIS中调用存储过程通常涉及以下几个步骤: 1. **配置存储过程**:在SQL映射文件中定义存储过程的标签,指定存储过程名以及输入和输出参数。 2. **设置参数**:在Java代码中创建参数对象,根据存储过程的需求...

    IBatis中的存储过程应用实例

    在本实例中,我们将探讨如何在IBatis中使用存储过程,特别是针对SQL Server数据库。 首先,我们需要创建一个存储过程。在本例中,我们有一个名为`P_UpdateUserName`的存储过程,它接受两个输入参数`@UserName`和`@...

    Ibatis调用Oracle存储过程返回自定义类型

    本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现返回自定义类型的处理方法。 #### Oracle自定义类型简介 Oracle支持用户自定义数据类型,这为复杂数据结构的应用提供了极大的便利。...

    iBatis执行非查询语句(CRUD,函数和过程)

    这篇博客“iBatis执行非查询语句(CRUD,函数和过程)”深入探讨了如何在iBatis中执行创建、读取、更新和删除(CRUD)操作,以及调用数据库存储过程和函数。 一、iBatis简介 iBatis最初由MyBatis的创始人Clinton ...

    J2EE+Spring+Ibatis2+blazeds存储过程调用返回结果集

    在调用存储过程时,Ibatis允许开发者编写SQL语句或存储过程,然后在XML配置文件中定义这些操作,使得调用过程直观且易于维护。 Blazeds是一个Flash Remoting解决方案,主要用于Flex和Java之间的数据通信。通过...

Global site tag (gtag.js) - Google Analytics