ibatis调用带参的存储过程,包括存储过程带有多个输入输出参数,整个开发过程如下:

1. 编写存储过程,以下存储过程分别带有三个输入参数,两个输出参数。

CREATE PROCEDURE [dbo].[sp_statJB](@cyear   char(4)  ,@halfyear varchar(10),@empflag char(1),@result1  varchar(10) out ,@result2  varchar(10) out)

AS BEGIN

SET NOCOUNT ON;

set @result1=dbo.f_getJBamount(@cyear,@halfyear,1,’公有经济’)

set @result2=dbo.f_getJBamount(@cyear,@halfyear,0,’高等教育’)

END

2.编写ibatis的配置文件

<parameterMap id=”statisticalDataMap”>

<parameter property=”cyear” jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”IN”/>

<parameter property=”halfyear” jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”IN”/>

<parameter property=”empflag” jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”IN”/>

<parameter property=”result1″ jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”OUT”/>

<parameter property=”result2″ jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”OUT”/>

</parameterMap>

<procedure id=”getStatisticalData”  parameterMap=”statisticalDataMap”>    <![CDATA[       { call sp_statJB(?,?,?,?,?)}    ]]> </procedure>

3编写java程序,传递参数并获取结果

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

paramMap.put(“cyear”, “2012″);

paramMap.put(“halfyear”,”下半年”);

paramMap.put(“empflag”, “0″);

getSqlMapClientTemplate().queryForObject(this.getNameSpace()+”getStatisticalData”,paramMap);

if(paramMap.get(“result1″)!=null)

{

return Integer.parseInt(paramMap.get(“result1″).toString());

}

else{

return 0;

}

转载于:https://blog.51cto.com/6159597/1053371

ibatis教程之调用带参数的存储过程相关推荐

  1. 如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程

    有多种方法使用 ADO.NET 调用存储过程并获得返回值和返回参数,其中包括: 使用 DataSet 对象,在获得返回值和返回参数之外,还可以收集并使用返回的数据行. 使用 DataReader 对象 ...

  2. MySQL 学习笔记(6)— 存储过程创建、调用、删除以及带参数的存储过程

    1. 存储过程总结 存储过程是一种存储在数据库中的程序.它可以包含多个 SQL 语句,并提供许多过程语言的功能,例如变量定义.条件控制语句.循环语句.游标以及异常处理等. 1.1 存储过程优点 实现代 ...

  3. ASP调用带参数存储过程的几种方式

    最近有很多的朋友问到调用存储过程的问题,这里简单介绍几种ASP调用带参数存储过程的方法. 1. 这也是最简单的方法,两个输入参数,无返回值: set connection = server.creat ...

  4. 使用SqlDataSource调用带参数存储过程(获取不到数据?)

    最近被朋友问到一个SqlDataSource调用带参数存储过程为什么不成功,代码如下: string user_name = ((TextBox)this.DetailsView1.Rows[1].C ...

  5. ASP调用带参数存储过程的几种方式 (转)

    最近有很多的朋友问到调用存储过程的问题,这里简单介绍几种ASP调用带参数存储过程的方法. 1. 这也是最简单的方法,两个输入参数,无返回值: set connection = server.creat ...

  6. mysql带参数的sql_MySql存储过程是带参数的存储过程(动态执行SQL语句)

    下文介绍的MySql存储过程是带参数的存储过程(动态执行SQL语句),该MySql存储过程是根据用户输入的条件和排序方式查询用户的信息,排序条件可以没有调用方式: call GetUsersDynam ...

  7. C#线程调用带参数的方法 ~

    在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法. 第一种:使用ParameterizedThreadStart. 调用 System.Threading.Thre ...

  8. mysql 创建带参数的存储过程_在MySQL中创建带有IN和OUT参数的存储过程的方法

    在 MySQL 中创建储存过程的语法很难记,除非你经常跟储存过程打交道,原因很简单,语法不是什么小笑话.如果你通过命令行控制 MySQL,你需要记住准确的语法.一个快速示例可以很好的帮助你做到这点.在 ...

  9. mysql存储过程 带参数例子_MySQL带参数的存储过程小例子

    存储过程P_GET_CLASS_NAME是根据输入的班级号判断班级名称,存储过程P_INSERT_STUDENT是接收输入的学生信息,最终将信息插入学生 存储过程P_GET_CLASS_NAME是根据 ...

最新文章

  1. 数字资产交易所IM即时通讯社交系统APP开发
  2. MATLAB实战系列(八)-头脑风暴优化(BSO)算法求解旅行商问题(TSP)(附MATLAB代码)
  3. 12.当效率至关重要时,请在map::operator[]与map::insert之间谨慎作出选择
  4. sqlserver安装目录_Jira试用报告(安装及数据迁移篇)
  5. JAVA 入门PDF
  6. php有没有能无限遍历,php无限遍历目录代码
  7. leetcode454. 四数相加 II
  8. 常忘知识点二-混合器
  9. 油菜的做法及营养知识详细介绍
  10. 用C语言实现简单的一字棋游戏
  11. nginx 搭建静态网站
  12. python实现erp系统后端_python开发erp教程《PYTHON编一套完整ERP系统,15万元能下来吗》...
  13. 第一章 初步认识数据透视表
  14. 怎么在ppt中加入html5,怎样在PPT中插入html网页.ppt
  15. 【JY|土木】失稳你过来,我们谈谈吧。
  16. kNN算法解析及应用【内附详细代码和数据集】
  17. 关于三星设备 Activity.onDestroy() 被调用。显示“开发者选项”
  18. 从头到尾,快速掌握广告文案策划技巧
  19. 怎么选择笔记本电脑的配置
  20. wallis滤波 matlab,基于Matlab的Kruskal-Wallis和Nemenyi检验的界面实现

热门文章

  1. Red Hat linux 9 初装配置
  2. Arista将Spine-Leaf路由/交换产品进行芯片升级
  3. 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第二步)(4)...
  4. Java中的Cookie(1)——基本操作
  5. ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件...
  6. 异步socket的线程分配(C#)
  7. 使用RSA私钥或pfx私钥签名String
  8. kaptcha验证码实现,配合spring boot使用
  9. Python 编写一个有道翻译的 workflow 教程
  10. rtmp Chunk stream ID 说明