1、配置文件,注意其中的jdbcType,这个不知道可以参考java.sql.Types类
<parameterMap class="java.util.Map" id="countAveragePriceMap">
<parameter property="formId" javaType="java.lang.String" jdbcType="INTEGER" mode="IN"/>
<parameter property="result" javaType="java.lang.String" jdbcType="INTEGER" mode="OUT"/>
<parameter property="errMsg" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>
<procedure id="colculateAveragePriceByFormId" parameterMap="countAveragePriceMap">
{ call P_ACAS_COUNTGOODSAVPRICE(?,?,?) }
</procedure>
2、上面的入参是一个map,没有明确返回参数,但事实上出、入都是同一个对象,调用时map中只放入了 formId一个值,当执行成功后,map中放入另外两个 result 和errMsg 这两个值,所以在调用时只需要执行ibatis.queryForObject方法,如下所示,执行后我们就能取到结果(result):
Map paraMap = new HashMap();
paraMap.put("formId", formId);
storageFormDAO.colculateAveragePriceByFormId(paraMap);
String countResult = (String)paraMap.get("result");
分享到:
相关推荐
本文将围绕“Ibatis调用存储过程”这一主题展开讨论,旨在帮助读者理解并掌握在Ibatis中调用存储过程的方法。 #### 二、存储过程与Ibatis简介 ##### 2.1 存储过程简介 存储过程是一种在数据库中预先编译好的SQL...
本篇文章将详细介绍如何在iBATIS中调用存储过程,包括带参数和不带参数的存储过程,并通过一个具体的例子进行说明。 首先,存储过程是预编译的SQL语句集合,它可以包含复杂的业务逻辑,例如多条SQL语句、循环、条件...
在ibatIS中调用存储过程,我们需要了解以下步骤: 1. **配置存储过程**:在`ibatis-config.xml`配置文件中,定义数据源和事务管理器,并在`sqlMapConfig.xml`中添加对应的Mapper配置。在Mapper文件中,使用`...
通过上述步骤,我们可以看到在iBatis中调用存储过程并返回游标的基本流程。首先定义参数映射和结果映射,然后在存储过程中指定这些映射,最后调用存储过程并处理返回的游标数据。这种机制为Java应用程序提供了强大的...
在Ibatis中调用存储过程,我们需要在映射文件中定义SQL语句,但这里的语法略有不同。对于带有输出参数的存储过程,我们需要使用`<select>`标签而不是通常用于查询的`<resultMap>`,并且使用`procedure`属性指定存储...
### 三、ibatis中调用存储过程的方法 #### 1. 配置环境 首先确保已经正确安装并配置好了ibatis框架,包括添加ibatis的jar包到项目中,配置数据源等。 #### 2. 创建存储过程 在数据库中创建一个存储过程,例如一...
在iBATIS中调用存储过程通常涉及以下几个步骤: 1. **配置存储过程**:在SQL映射文件中定义存储过程的标签,指定存储过程名以及输入和输出参数。 2. **设置参数**:在Java代码中创建参数对象,根据存储过程的需求...
3. 执行SQL:在SqlSession中调用对应的方法,如`selectOne()`,传入SQL语句的ID和参数,执行查询。 4. 获取结果:查询操作会返回结果,可以根据结果类类型进行转换。 5. 提交或回滚事务:如果开启了自动事务管理,...
- 调用Mapper接口:在SqlSession中调用预先定义的Mapper方法,执行对应的SQL语句。 - 提交或回滚事务:在完成数据操作后,决定是否提交或回滚事务。 - 关闭SqlSession:操作完毕后,记得关闭SqlSession,释放资源...
5. **存储过程的使用**:如果需要使用数据库的存储过程,文档会指导如何在iBatis中调用它们。 6. **性能优化**:提供了一些提高性能的技巧,如缓存策略、批处理操作等。 7. **高级特性**:包括一对一、一对多、多...