zoukankan      html  css  js  c++  java
  • myBatIs.Net 调用Oracle 存储过程返回游标

    找了好久,网上也没示例,全是java的,没办法,后来看到一个网上别人写的例子。

    http://www.myfirm.cn/blog/article/Control/13.html

    上面照套还是出错,我X,没找到类的属性,那么灵机一动,应该是个结果集,就List了,给类加个属性

    搞定。

    public class Product
        {
            public int ProductId { get; set; }
            public string ProductName { get; set; }
    
            public List<Product> result { get; set; }
        }  
    }

    xml配置

     <resultMaps>
        <!-- 映射可以用在下面的语句设置中 -->
        <resultMap id="GetAllProductsResult" class="Product">
          <result property="ProductId" type="int" column="ProductId" dbType="number"  />
          <result property="ProductName" type="string" column="ProductName" dbType="varchar"  />
        </resultMap>
    
      </resultMaps>
    
      <parameterMaps>
        <!--注意:parameterMap中的参数个数和顺序要和ProcGetPersonByName存储过程中的一致-->
        <parameterMap id="ParamSelect" class="Product">
    
          <parameter property="ProductName" coloumn="VPRODUCTNAME"/>
         
          <!--设置返回的数据,数据库类型为Cursor-->
          <parameter property="result" column="P_CUR"  dbType="Cursor"  direction="Output"/>
          
         
        </parameterMap>
      </parameterMaps>
    
      <statements>
        <procedure id="ProcGetProductbyName" parameterMap="ParamSelect"  resultMap="GetAllProductsResult">
          ProcGetProductbyName
        </procedure>

    Oracle过程

    CREATE OR REPLACE PROCEDURE PROCGETPRODUCTBYNAME(VPRODUCTNAME IN VARCHAR,
                                                     P_CUR        OUT SYS_REFCURSOR) AS
    BEGIN
    
      OPEN P_CUR FOR
        SELECT * FROM PRODUCT T WHERE T.PRODUCTNAME LIKE VPRODUCTNAME || '%';
    
    END;

    搞定。

  • 相关阅读:
    Render Props
    react16新特性
    typescript
    calc
    类数组
    promise fullfill状态时 value是一个promise,那么此promise.then()里面收到的是什么
    M个同样的苹果放N个同样的盘子,允许有盘子空着, 问有多少种放法?
    history
    js创建二维数组
    钉钉-E应用开发初体验(企业内部应用)
  • 原文地址:https://www.cnblogs.com/Chareree/p/4171068.html
Copyright © 2011-2022 走看看