zoukankan      html  css  js  c++  java
  • Nhiberntae实例(操作Oracle)

    1.文件路径
    \App_Data\Entity\DEP.cs
    \App_Data\Entity\NHibernateHelper.cs(参考官方文档)
    \App_Data\Mapping\DEP.hbm.xml
    \bin\hibernate.cfg.xml
     

    2.hibernate.cfg.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <!-- 
    This template was written to work with NHibernate.Test.
    Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it 
    for your own use before compile tests in VisualStudio.
    -->
    <!-- This is the System.Data.OracleClient.dll provider for Oracle from MS -->
    <hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
      <session-factory name="NHibernate.Test">
        <property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
        <property name="connection.connection_string">
          User ID=kenny1;Password=123456;Data Source=orcl
        </property>
        <property name="show_sql">false</property>
        <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
        <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
        <mapping assembly="WebApplication4" />
     
      </session-factory>
    </hibernate-configuration>
     
    3.主要文件
    DEP.cs
    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Linq;
    using System.Data.Linq;
    using System.Data.Linq.Mapping;
    namespace QuickStart
    {
        [Table]
        public class DEP
        {
            [Column(IsPrimaryKey = true)]
            public virtual int DEPID { get; set; }
     
            [Column]
            public virtual string Name { get; set; }
     
            public DEP()
            {
            }
     
        }
    }
     
    DEP.hbm.xml(要设为嵌入的资源和始终复制)
     
    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="WebApplication4">
     
      <class name="QuickStart.DEP" table="DEP1" lazy="false">
     
        <!-- A 32 hex character is our surrogate key. It's automatically
                generated by NHibernate with the UUID pattern. -->
        <id name="DEPID">
          <column name="DEPID" not-null="true"/>
          <generator class="sequence">
            <param name="sequence">DEP1_SEQU</param>
          </generator>
     
        </id>
        
     
        <!-- A cat has to have a name, but it shouldn' be too long. -->
        <property name="Name"/>
        
       
      </class>
     
    </hibernate-mapping>
     
    4.操作代码
     
    ISession session = NHibernateHelper.GetCurrentSession();
    ITransaction tx = session.BeginTransaction();
    DEP dep = new DEP();
    dep.Name = "basic";
    session.Save(dep);
    tx.Commit();
    NHibernateHelper.CloseSession();
  • 相关阅读:
    Symbian点滴3对象的创建和释放以及对象的二阶段构造
    SQL 列转行
    HashMap详解
    SpringCloudEureka工作原理及和ZooKeeper的区别
    Redis如何使redis中存放数据都为热点数据,缓存算法,key的淘汰策略
    线程的三种实现方式详解
    Redis缓存雪崩,缓存穿透,缓存击穿,缓存预热概念及解决方案
    mysql系列——连接查询(七)
    SpringCloud服务雪崩,降级 ,熔断
    hdu 2215 Maple trees
  • 原文地址:https://www.cnblogs.com/kenny999/p/2309657.html
Copyright © 2011-2022 走看看