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相对应,并且区分大小写.

  • 相关阅读:
    vue样式的动态绑定
    vue表单选项框
    vue简单逻辑判断
    vue的选项卡功能
    简单vue的监听属性(单位换算)
    简单的Vue计算属性
    vue.js 入门
    head元素的内容
    HTML实体
    CSS元素的盒类型
  • 原文地址:https://www.cnblogs.com/caoyc/p/5850014.html
Copyright © 2011-2022 走看看