其实调用方式比较简单,主要也就是两种类型的存储过程:
1、更新类型的存储过程
2、查询类型的存储过程
下面就来看看具体的调用方式:1、更新类型的存储过程sp_InsertAccount:

CREATE PROCEDURE [dbo].[sp_InsertAccount]
    -- Add the parameters for the stored procedure here
   @Account_ID int,
   @Account_FirstName varchar(32),
   @Account_LastName varchar(32)AS
BEGIN
insert into accounts (account_id, account_firstname, account_lastname) 
    values (@Account_ID,@Account_FirstName,@Account_LastName )
END

Map配置文件:

        <procedure id="InsertAccountViaStoreProcedure" parameterMap="insert-params_new">
            sp_InsertAccount
        </procedure>
    <parameterMap id="insert-params_new" class="Account">
      <parameter property="Id" />
      <parameter property="FirstName" />
      <parameter property="LastName" />
    </parameterMap>

这里要注意的就是ParameterMap中的参数个数和顺序要和sp_InsertAccount存储过程中的一致

Ado中的调用代码:

        public void InsertAccountViaStoreProcedure(Account account)
        

{

            try
            

{

                sqlMap.Insert("InsertAccountViaStoreProcedure", account);
            }
            catch (DataAccessException ex)
            

{

                throw new DataAccessException("Error executing InsertAccountViaStoreProcedure. Cause :" + ex.Message, ex);
            }
        }

这里使用的是sqlMap.Insert的方法,为了看起来直观一点,其实使用sqlMap.QueryForObject方法的话效果也是一样的:)2、查询类型的存储过程GetAccountByName:

CREATE PROCEDURE [dbo].[GetAccountByName]
    @name varchar(32)
AS
BEGIN
select * from accounts where Account_FirstName like '%' + @name + '%'
END

Map配置文件:

    <procedure id="GetAccountByNameViaStoreProcedure" resultMap="account-result" parameterMap="selectpro-params">
      GetAccountByName
    </procedure>
    <parameterMap id="selectpro-params" class="string">
      <parameter property="name"/>
    </parameterMap>

这里parameterMap也是和上面的要求一样,至于property的名字在这里没有实际作用,可以任意取名的
Ado中的调用代码:

        public ArrayList GetAccountByNameViaStoreProcedure(string strName)
        

{

            try
            

{

                ArrayList list = (ArrayList)sqlMap.QueryForList("GetAccountByNameViaStoreProcedure", strName);
                return list;
            }
            catch (DataAccessException ex)
            

{

                throw new DataAccessException("Error executing SqlAccountViaSqlMapDao.GetAccountById. Cause :" + ex.Message, ex);
            }
        }

http://www.cnblogs.com/firstyi/archive/2008/01/25/1053208.html

IBatis.Net学习笔记十三:在IBatis.Net中调用存储过程相关推荐

  1. Python学习笔记之六:在VS中调用Python

    1,安装配置好Python本身的运行环境,以能在命令行下运行py脚本为准 2,将Python的根目录下的include文件夹,添加到VS的项目属性->配置属性->C/C++->&qu ...

  2. IBatis.Net学习笔记系列文章

    IBatis.Net是一个比较易用的ORM框架,使用起来较为方便.灵活. 在此记录我学习的过程,作为自己的一个总结. 1.IBatis.Net学习笔记一:开篇 2.IBatis.Net学习笔记二:下载 ...

  3. IBatis.Net学习笔记六--再谈查询

    在IBatis.Net学习笔记五--常用的查询方式 中我提到了一些IBatis.Net中的查询,特别是配置文件的写法. 后来通过大家的讨论,特别是Anders Cui 的提醒,又发现了其他的多表查询的 ...

  4. iBATIS.NET 学习笔记(八)

    在iBATIS.NET 学习笔记(五)中的DataGrid中加入删除功能,删除客户信息. 修改Maps/Customers.xml,在statements标记中加入下面代码: <delete i ...

  5. Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令

    Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令 MACRO命令中包含了很多宏脚本管理以及变量操作命令,交互操作命令等,是非常重要的一个模块. 数组和字符串操作 从数组中拿掉一个元素 ...

  6. OpenGL学习笔记(十三):将纹理贴图应用到四边形上,对VAO/VBO/EBO/纹理/着色器的使用方式进行总结

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7919 ...

  7. JavaScript学习笔记06【高级——JavaScript中的事件】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  8. Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 二)...

    在Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据一)中,解释了如何把Crystal Report整合到Sharepoint ...

  9. MySQL学习笔记(六)-MySQL中库和表的管理

    MySQL学习笔记(六)-MySQL中库和表的管理 作者:就叫易易好了 日期:2020/11/23 1 2 DDL即数据定义语言 创建:create 修改:alter 删除:drop 库和表的管理: ...

最新文章

  1. python百度语音实时识别成文字_python 语音合成
  2. python导入txt为dataframe-python读取文本中数据并转化为DataFrame的实例
  3. 硬盘温度70度正常吗_读懂固态硬盘:NVMe SSD的SMART健康数据这样看
  4. fedora在此处打开终端
  5. autohotkey+txt (3)+获得鼠标坐标
  6. 5005.boost之asio简单反射型服务器客户端
  7. 字符串startswith_Python字符串startswith()
  8. 一些Select检索高级用法(适用于mssql)
  9. MT4系统自带指标代码
  10. Spring事务管理的四种方式(以银行转账为例)
  11. Visual Studio Code 快速生成HTML结构
  12. word背景图片设置a4纸大小教程
  13. 元气骑士超级科学计算机有什么用,元气骑士超级科学计算机攻略 天赋及获取方式汇总...
  14. 发现一个可以让程序员提神的方法
  15. 第二集 第一魂环 第十三章
  16. 读书笔记(第五周)之魔方的创新
  17. 二次元究竟意味着什么?(修改版)
  18. python pyqtgraph绘图库-绘制图形
  19. 苏宁的人工智能创新应用,看AI和商务的激烈碰撞
  20. 网站流量统计工具介绍

热门文章

  1. OpenGL Compute Shader Raytracing 计算着色器光线追踪的实例
  2. C和C++数据结构算法
  3. 「Swift」笔记第一章:The Basic
  4. Microsoft公司的匈牙利法命名规则
  5. 通过exp命令对Oracle数据库进行备份操作(提供两种情况的备份:备份本地,备份远程的数据库)
  6. 窗口分析函数_3_生成不间断重复排名序号
  7. 操作多个表_4_查询不再另外一个表里的记录
  8. 数据库表的软硬关联_数据库容灾能力的探讨(一)
  9. 渥太华大学计算机工程,渥太华大学电气与计算机工程硕士专业.pdf
  10. postgresql 删除触发器_PostgreSQL:我没有带闪,不讲武德