`
y806839048
  • 浏览: 1127518 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mybatis调用存储过程及返回值获取

 
阅读更多

mybatis调用存储过程及返回值获取

存储过程的返回结果直接放在 传入参数的map中(paramCusKey)

调用前{INPARA=CUSTOMER_KEY=545}

调用后

{OUTPARA=CUS_USER_ID=E00000049_02, INPARA=CUSTOMER_KEY=545}

 //类似用mybatis内置的插入方法自动返回主键一样,(之前有set主键的话就不返回插入后的值了,直接是set值,)返回存储过程输出参数

 <select id="getCusKey" parameterType="map" statementType="CALLABLE" resultType="string">

  

  <![CDATA[  

    {call PD_OPT_ID(#{INPARA,mode=IN,jdbcType=VARCHAR},#{OUTPARA,mode=OUT,jdbcType=VARCHAR})}  //这里是存储过程接收返回结果的写入map中的字段

  ]]>  

  

  </select>

 

 

public String getCusKey(Map<String,Object> param);

 

 

  

 

 

  Map<String,Object> paramCusKey = new HashMap<String,Object>();

paramCusKey.put("INPARA", "CUSTOMER_KEY="+tbCusUserBeanVo.getCustomerKey());

tbCusUserDao.getCusKey(paramCusKey);

String out=paramCusKey.get("OUTPARA").toString().substring(paramCusKey.get("OUTPARA").toString().indexOf("=")+1, paramCusKey.get("OUTPARA").toString().length());//获取结果,注意只是当前调用存储过程的dao层可以获取,到了serveice不可--map没传递出去

System.out.println(out);

System.out.println(paramCusKey.get("OUTPARA").toString());

 

 

 

===================================

//mybatis调用存储过程的另一xml写法

<parameterMap type="java.util.Map" id="recommendMap">

         <parameter property="inpara" mode="IN" jdbcType="VARCHAR"/>

         <parameter property="outpara" mode="OUT" jdbcType="VARCHAR"/>

     </parameterMap>

     

<select id="recommend" parameterMap="recommendMap" statementType="CALLABLE">

 

<![CDATA[

           call PD_CON_OBJ_RECOMMEND(?,?)    

       ]]>

 

</select>

 

 

@Override

public String recommend(String conobjKey) {

  StringBuffer inparasb = new StringBuffer("");

      inparasb.append("CONOBJ_KEY=");

      inparasb.append(conobjKey);

      inparasb.append('\r');

      inparasb.append('\n');

      inparasb.append("RECOMMEND_NAME=");

      inparasb.append("");

      String inpara = inparasb.toString();

      Map<String,String> map = new HashMap<String,String>();

      map.put("inpara", inpara);

      tbConObjMapper.recommend(map);

      return map.get("outpara");

}

 

public String recommend(Map<String,String> map);

分享到:
评论

相关推荐

    mybatis调用储存过程

    在调用存储过程时,我们需要利用MyBatis提供的API和配置机制来实现。 1. **配置MyBatis**:在`mybatis-config.xml`配置文件中,你需要添加数据库连接信息,例如数据源、驱动类等。同时,也需要将你的Mapper接口文件...

    mybatis调用存储过程源码

    这个提供的"mybatis调用存储过程源码"压缩包,包含了一个完整的MyBatis调用存储过程的示例,解压后可以直接运行,帮助开发者理解如何在实际项目中实现这一功能。详细注释可以帮助初学者更好地理解和学习这一过程。...

    MyBatis调用存储过程

    MyBatis作为一款流行的Java持久层框架,提供了调用存储过程的功能。下面将详细介绍如何在MyBatis中配置和使用存储过程。 ### 1. 配置MyBatis XML映射文件 在MyBatis的映射文件(mapper.xml)中,我们需要为存储...

    spring mybatis 调用oracle存储过程

    当存储过程不返回任何结果时,我们只需在MyBatis的Mapper接口中定义一个无返回值的方法,并在对应的XML配置文件中编写调用存储过程的SQL语句。例如,`&lt;select id="executeProcedure" statementType="CALLABLE"&gt;{...

    spring mvc + mybatis 调用mysql 存储过程

    以上就是使用Spring MVC和MyBatis调用MySQL存储过程的完整步骤。需要注意的是,对于复杂的存储过程,可能需要处理输入和输出参数,以及可能的异常情况。此外,还要考虑事务管理和性能优化等问题。通过这种方式,你...

    mybatis调用orclae存储过程

    然后,在对应的Mapper XML文件(`EmployeeMapper.xml`)中,编写调用存储过程的SQL语句: ```xml {call INSERT_EMPLOYEE(#{employeeId, mode=IN, jdbcType=NUMERIC}, #{firstName, mode=IN, jdbcType=VARCHAR}...

    JAVA通过MyBatis调用MySql存储过程和函数doc文档合集整理.zip

    这个文档合集应该详细讲解了这些步骤和最佳实践,帮助开发者熟练掌握在Java中利用MyBatis调用MySQL存储过程和函数的技巧,从而更高效地进行数据库操作。通过深入学习和实践,开发者可以更好地理解这两者之间的交互,...

    Mybatis调用MySQL存储过程的简单实现

    调用存储过程则使用`CALL`关键字: ```sql CALL sp_name([参数列表]); ``` 删除存储过程的命令是`DROP PROCEDURE`,需要注意的是,不能在一个存储过程中删除另一个存储过程。 MyBatis调用MySQL存储过程的实现通常...

    IbatisNet调用存储过程

    在.NET开发环境中,IbatisNet是一个流行的持久层框架,它为开发者提供了灵活的数据访问机制,包括直接执行SQL语句和调用存储过程。本篇文章将深入探讨如何在IbatisNet中配置并使用存储过程。 首先,理解IbatisNet的...

    3、mybatis存储过程和函数的调用1

    总结起来,MyBatis调用存储过程提供了灵活性和效率,使得开发人员能够充分利用数据库提供的复杂功能,同时保持代码的整洁和可维护性。在实际项目中,正确理解和使用这些方法可以提高数据处理的效率和应用的性能。

    ibatIS调用存储过程

    ibatIS调用存储过程是数据库操作中常见的一种技术,特别是在复杂的业务逻辑处理或数据批量操作时,存储过程能够提供更高的效率和更好的性能。本文将深入探讨如何在ibatIS框架中调用存储过程,以及涉及到的相关知识点...

    调用存储过程的通用方法

    本文将详细介绍如何采用通用方法调用存储过程,帮助开发者提高数据库操作的效率和一致性。 1. **存储过程的基本概念** 存储过程是数据库中一组为了完成特定功能的SQL语句集,可以包含输入、输出参数,也可以有...

    Java调用Oracle存储过程的方法

    1. **调用存储过程的基本步骤:** - **建立连接**:通过`DriverManager.getConnection()`或使用连接池(如C3P0、HikariCP等)获取数据库连接。 - **创建CallableStatement**:使用`Connection.prepareCall()`...

    MySql存储过程以及MyBatis3

    2. **调用存储过程**:通过`CALL`关键字来执行存储过程。 3. **参数**:存储过程可以接受输入参数,输出参数,或者两者都有,用于传递数据到过程内部或从过程返回结果。 4. **返回值**:使用`RETURN`语句设置存储...

    jdbc调用存储过程,函数,游标

    在IT行业中,数据库操作是不可或缺的一部分,而Java的JDBC(Java Database Connectivity)API则提供了与各种数据库交互的...通过阅读提供的博客链接,你将能获取更多关于JDBC调用存储过程和函数的实践经验及详细解释。

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

    在这个项目中,我们结合了Spring框架、Ibatis持久层框架以及Blazeds技术,来演示如何调用存储过程并处理返回的结果集。下面将详细讲解这些技术的运用。 首先,J2EE是一种广泛用于开发分布式企业应用的平台,它提供...

    mybatis demo mybatis 实例

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    JAVA调用存储过程

    综上所述,Java调用存储过程涉及到JDBC API的使用,包括建立连接、创建CallableStatement、设置和获取参数、执行存储过程以及关闭资源。熟练掌握这些步骤对于进行数据库交互的Java开发至关重要。

    Mybatis入门资源

    "Mybatis学习(六)调用存储过程.docx"会涉及如何通过Mybatis调用数据库中的存储过程。Mybatis允许在Mapper XML文件中定义元素,传入参数并接收返回值。调用存储过程可以提高执行效率,尤其是在处理复杂逻辑或批量...

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

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

Global site tag (gtag.js) - Google Analytics