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

    在开始前:

    下载Nhibernate,官方网站:https://www.hibernate.org/343.html,将下载的文件解压在本地目录,里面包含了必需的dll文件和XML文件的样例等。新建解决方案如下:

    lib:必须的dll,可在下载的文件夹中找到

    Client:测试用,为启动项目(zzy.db 为数据库文件)

    domain:实体类和相应的映射文件

    HbernateHelper:用来获取Session

    具体步骤如下:

    1,新建数据库表TB_PERSON如下:

    其中ID为整形主键,自动增长

    2,新建Nhibernate的配置文件hibernate.cfg.xml如下:

    Code

    该配置文件可以在下载的Nhibernat压缩文件中找到模板。

    3,新建实体及映射文件

    其中Person类代码如下:

    Code

    对应的映射文件Person.hbm.xml如下:

    Code

    该映射文件也可在下载的Nhibernate压缩文件中找到模板。

    4,获取Session

    在HbernateHelper下新建类:Helper,代码如下:

    Code

    5,在主项目中测试结果

     


    using System;
    using System.Collections.Generic;
    using System.Text;
    using HbernateHelper;
    using NHibernate;
    using Domain.Entities;

    namespace Fuck
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                ISession session 
    = Helper.GetSession();

                Person person 
    = new Person();
                person.Name 
    = "zzy";
                person.Age 
    = 24;
                session.SaveOrUpdate(person);
                session.Flush();
                session.Close();

                session 
    = Helper.GetSession();
                Person anotherPerson 
    = (Person)session.Get<Person>(1);
                Console.Write(anotherPerson.Name 
    + "  AGE:" + anotherPerson.Age.ToString());
                Console.Read();

                session.Flush();
                session.Close();
            }
        }
    }


    测试代码中包含一个简单的新建和查询操作,需要注意:别忘了把必要的dll引用加上。

    这就是全部。

  • 相关阅读:
    async&await的前世今生
    如何使用cocos2dx-jsbinding 来处理分辨率适配
    cocos2d-x jsbinding 资源下载实现
    cocos2d-x jsbinding 在线更新策略设计
    xml2js
    快速入门cocos2d-x jsbinding
    cocos2d-x 工程目录结构说明
    Javascript 开发IDE
    认识cocos2d-x jsbinding
    MySQL 灵异事件一则 -- desc报语法错误
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1604740.html
Copyright © 2011-2022 走看看