zoukankan      html  css  js  c++  java
  • NHibernate入门示例1

    create table Cat2(
    CatId 
    char(32not null primary key,
    Name 
    nvarchar(16not null,
    Sex 
    nchar(1),
    Weight 
    [real]
    )
    代码
    <configuration>
      
      
    <!-- Add this element -->
      
    <configSections>
        
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
      
    </configSections>

      
    <!-- Add this element -->
      
    <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
        
    <session-factory>
          
    <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
          
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
          
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
          
    <property name="connection.connection_string">Server=192.168.10.99;initial catalog=DProjectWCGTest;uid=sa;pwd=Admin12345;</property>
          
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
          
          
    <property name="show_sql">true</property>
         
          
    <!--<mapping resource="TestStaticContructor.Models.Cat.hbm.xml" assembly="TestStaticContructor" />-->
          
    <mapping  assembly="TestStaticContructor" />
        
    </session-factory>
      
    </hibernate-configuration>
      
    </configuration>
    代码
    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TestStaticContructor.Models" assembly="TestStaticContructor">
      
      
    <!--
      独立的实体: e.g.
      <class name="Test.Model.Person, Test.Model" table="Person">
    -->
      
    <class name="Cat" table="Cat">
        
    <!-- A 32 hex character is our surrogate key. It's automatically
    generated by NHibernate with the UUID pattern. 
    -->
        
    <id name="Id">
          
    <column name="CatId" sql-type="char(32)" not-null="true"/>
          
    <generator class="uuid.hex" />
        
    </id>
        
    <!-- A cat has to have a name, but it shouldn' be too long. -->
        
    <property name="Name">
          
    <column name="Name" length="16" not-null="true" />
        
    </property>
        
    <property name="Sex" />
        
    <property name="Weight" />
      
    </class>
    </hibernate-mapping>
    代码
    public class Cat
        {
            
    private string id;
            
    private string name;
            
    private char sex;
            
    private float weight;
            
    public Cat()
            {
            }
            
    public virtual string Id
            {
                
    get { return id; }
                
    set { id = value; }
            }
            
    public virtual string Name
            {
                
    get { return name; }
                
    set { name = value; }
            }
            
    public virtual char Sex
            {
                
    get { return sex; }
                
    set { sex = value; }
            }
            
    public virtual float Weight
            {
                
    get { return weight; }
                
    set { weight = value; }
            }
        }
    代码
      static void Main(string[] args)
            {
                ISessionFactory sessionFactory 
    = new Configuration().Configure().BuildSessionFactory();

                ISession session 
    = sessionFactory.OpenSession();

                Cat2 cat 
    = new Cat2();
                cat.Name 
    = "Cat2";

                Console.WriteLine(
    "cat.name={0}",cat.Name.Length);

                cat.Sex 
    = '';
                cat.Weight 
    = 3.14f;
                ITransaction tran 
    = session.BeginTransaction();
                
    try
                {
                    session.SaveOrUpdate(cat);
                    tran.Commit();
                }
                
    catch (Exception )
                {
                    tran.Rollback();
                    
    throw;
                }
                session.Close();
                sessionFactory.Close();

                Console.WriteLine(
    "done");
                
    ////
                //MyClass.SayHi();
                
    //MyClass mc = new MyClass();
                Console.ReadKey();
            }
  • 相关阅读:
    第09组 Beta冲刺(4/5)
    第09组 Beta冲刺(3/5)
    第09组 Beta冲刺(2/5)
    第09组 Beta冲刺(1/5)
    第09组 Alpha事后诸葛亮
    第09组 Alpha冲刺(6/6)
    第09组 Alpha冲刺(5/6)
    第5次实践作业
    第4次实践作业
    第3次实践作业
  • 原文地址:https://www.cnblogs.com/wucg/p/1831851.html
Copyright © 2011-2022 走看看