zoukankan      html  css  js  c++  java
  • NHibernate1.2存储过程使用

    ISession 对象 session

    IQuery query=session.GetNamedQuery("存储过程名")

    在实体映射文件(.xml文件)写明调用细节(写在任何被映射的实体映射文件都可 即<sql-query>...</sql-query>)

    如果有返回值要写明返回值!

    例:

    <!--proc_query_allroomtype存储过程名-->

    <sql-query name="proc_query_allroomtype" >
        <return alias="roomType" class="HotelManage.Models.RoomType, HotelManageModels" ></return>
        exec proc_query_allroomtype
      </sql-query>

    返回对象集合query.List<Type type>();

    也可返回List获object[]  例:

    <sql-query name="proc_demo1" >
       <return-scalar column="colA" type="int"/>
        <return-scalar column="colB" type="int"/>    exec proc_query_allroomtype
      </sql-query>

    <!--colA数据库表列名-->

    <!--number 是该存储过程的输入参数-->

    <sql-query name="ScalarSProcs">
      <
    return-scalar column="value" type="int"/>
      <
    return-scalar column="name" type="string"/>
     
    exec scalarSProcs :number,:value或exec scalarSProcs :?,?

    或exec scalarSProcs :number,?
    </sql-query>

    <!--调用-->

    _session.GetNamedQuery("ScalarSProcs")
            .SetInt32("number", 6).SetString("value").List();

    也可不写在配置文件中 直接调用存储过程

    例如:

       ISQLQuery query = Session.CreateSQLQuery("exec query_unitByName ?,?");
               query.AddScalar("unitname", NHibernateUtil.String);
               query.SetString(0, unitName);
               query.SetInt32(1, count);
               return query.List<string>();

     


  • 相关阅读:
    分享几个python小脚本
    关于python编译的一点小结
    一位测试工程师工作一年的心得体会
    Zookeeper知识梳理
    Kafka知识梳理(转载)
    霍夫曼编码压缩算法(转载 -- www.uusystem.com)
    表、栈和队列
    Python3正则表达式清洗Excel文档
    MongoDB学习笔记
    Centos--Docker应用
  • 原文地址:https://www.cnblogs.com/zhangqifeng/p/1419010.html
Copyright © 2011-2022 走看看