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

  • 相关阅读:
    01JAVA语言基础课后作业
    从命令行接收多个数字,求和之后输出结果
    java伪代码
    java从命令行接收多个数字,求和之后输出结果
    大道至简读后感
    大道至简读后感
    d3d两点
    codeforce 1A-1C
    计算几何里三角形的一些姿势,都忘干净了..
    c++ template 5.x 学习总结
  • 原文地址:https://www.cnblogs.com/maplye/p/375846.html
Copyright © 2011-2022 走看看