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

    我们在使用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两个键值,注意要区分大小写。

    HashTable实现了System.Collections.IDictionary接口的,所以直接用他应该也是可以的。

    当我们执行存储过程的时候,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相对应,并且区分大小写.

  • 相关阅读:
    数据仓库建模方法初步
    金融行业信用评级主题和概念清单
    数据挖掘标准规范之CRISP-DM基础
    HBase与Zookeeper数据结构查询
    R语言数据挖掘相关包总结-转帖
    R语言学习路线图-转帖
    在IIS上部署Asp.Net Core 2.2.0
    [转]Winform打包工具SetupFactory 9 的使用
    SQLite带参数处理方法
    Web.Config中配置字符串含引号的处理
  • 原文地址:https://www.cnblogs.com/caoyc/p/5850014.html
Copyright © 2011-2022 走看看