zoukankan      html  css  js  c++  java
  • IBatis.Net系列多参数的SQL语句的配置

    由于本人对IBatis.Net的并不是很精通,也是在边学边工作实践,所以IBatis.Net系列的文章会显的没有一定的连贯性,
    这些文章应该是我平时的关于IBatis.Net的一些知识的积累吧。下面进入正题:

    我们在使用IBatis.net操作数据的时候,肯定会碰到SQL参数
    当我们有一个参数时,IBatis的xml映射文件如下:

    <statement id="getProduct" parameterClass="System.Int32">
      select * from PRODUCT where PRD_ID = #value#
    </statement>

    当我们有多个参数时,xml如下:

    <statement id="getProduct" parameterClass="System.Collections.IDictionary">
      select * from PRODUCT
      where PRD_CAT_ID = #catId#
      and PRD_CODE = #code#
    </statement>

    在代码中必须赋给他一个Hashtable,并且这个Hashtable具有catId和code两个键值,注意要区分大小写。

    当我们执行存储过程的时候,xml如下:
    首先定义参数定义集合

    <parameterMaps>
     
    <parameterMap id="insertperson" class="Person">
      
    <parameter property="FirstName" column="PER_FIRST_NAME" />
      
    <parameter property="LastName" column="PER_LAST_NAME" />
     
    </parameterMap>
    </parameterMaps>

    然后定义操作

    <!--使用存储过程-->
    <procedure id="InsertPerson3" parameterMap="insertperson" resultMap="SelectResult">
     usp_InsertPerson
    </procedure>

    程序代码如下:

    public void InsertPerson3()
    {
     SqlMapper sqlmap 
    = IBatisNet.DataMapper.Mapper.Instance();

     Hashtable ht 
    = new Hashtable();
     ht.Add(
    "FirstName","");
     ht.Add(
    "LastName","明2");

     sqlmap.Insert(
    "InsertPerson3",ht);
    }

    注意:Hashtable中的键值名称和参数集合众的property相对应,并且区分大小写.
    代码下载:/Files/maplye/IBatisDemo.rar

  • 相关阅读:
    Sass开发环境搭建
    三款Javascript SPAs框架资料整理和总结
    Web纯前端“旭日图”实现元素周期表
    能在多种前端框架下使用的表格控件
    控件使用经验-MVP模式+控件封装
    最好的Angular2表格控件
    跨平台开发的两种方法及其对比
    是时候 UWP 了 !
    你的系统也可以拥有“数据透视表”功能!
    Xamarin 免费了,你能做什么?
  • 原文地址:https://www.cnblogs.com/maplye/p/375846.html
Copyright © 2011-2022 走看看