建立NHibernateTest的Windows解决方案

将Iesi.Collections.dll,log4net.dll和NHibernate.dll三个DLL文件放入Bin文件夹

然后添加引用

Nhibernate框架可到http://mesh.dl.sourceforge.net/sourceforge/nhibernate/NHibernate-2.0.0.Beta1-src.zip下载

这是Beta1版本的,Beta2已经发布

 

在C#中使用NHibernate框架查询数据

第一步:创建User实体类

 

 1在C#中使用NHibernate框架查询数据using System;
 2在C#中使用NHibernate框架查询数据using System.Collections.Generic;
 3在C#中使用NHibernate框架查询数据using System.Text;
 4在C#中使用NHibernate框架查询数据
 5在C#中使用NHibernate框架查询数据namespace NHibernateTest
 6在C#中使用NHibernate框架查询数据{
 7在C#中使用NHibernate框架查询数据    [Serializable]
 8在C#中使用NHibernate框架查询数据    public class User
 9在C#中使用NHibernate框架查询数据    {
10在C#中使用NHibernate框架查询数据        private int _id;
11在C#中使用NHibernate框架查询数据
12在C#中使用NHibernate框架查询数据        public int Id
13在C#中使用NHibernate框架查询数据        {
14在C#中使用NHibernate框架查询数据            get return _id; }
15在C#中使用NHibernate框架查询数据            set { _id = value; }
16在C#中使用NHibernate框架查询数据        }

17在C#中使用NHibernate框架查询数据        private string _name;
18在C#中使用NHibernate框架查询数据
19在C#中使用NHibernate框架查询数据        public string Name
20在C#中使用NHibernate框架查询数据        {
21在C#中使用NHibernate框架查询数据            get return _name; }
22在C#中使用NHibernate框架查询数据            set { _name = value; }
23在C#中使用NHibernate框架查询数据        }

24在C#中使用NHibernate框架查询数据        private string _sex;
25在C#中使用NHibernate框架查询数据
26在C#中使用NHibernate框架查询数据        public string Sex
27在C#中使用NHibernate框架查询数据        {
28在C#中使用NHibernate框架查询数据            get return _sex; }
29在C#中使用NHibernate框架查询数据            set { _sex = value; }
30在C#中使用NHibernate框架查询数据        }

31在C#中使用NHibernate框架查询数据    }

32在C#中使用NHibernate框架查询数据}

33在C#中使用NHibernate框架查询数据

 

第二步:创建该实体类的数据映射User.hbm.xml文件(xml文件)

 

 

 1在C#中使用NHibernate框架查询数据<?xml version="1.0" encoding="utf-8" ?>
 2在C#中使用NHibernate框架查询数据<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false">
 3在C#中使用NHibernate框架查询数据  <class name="NHibernateTest.User,NHibernateTest" table="Users">
 4在C#中使用NHibernate框架查询数据    <id name="Id" type="Int32">
 5在C#中使用NHibernate框架查询数据      <generator class="identity"/>
 6在C#中使用NHibernate框架查询数据    </id>
 7在C#中使用NHibernate框架查询数据    <property name="Name" type="String"/>
 8在C#中使用NHibernate框架查询数据    <property name="Sex" type="String"/>
 9在C#中使用NHibernate框架查询数据  </class>
10在C#中使用NHibernate框架查询数据</hibernate-mapping>

 

将该文件的属性进行如下调整(选中文件,按F4)

在C#中使用NHibernate框架查询数据

赋值到输出目录选择    始终复制

生成操作改成     嵌入的资源

 

 

第三步:创建hibernate.cfg.xml配置文件(xml文件)

 

 1在C#中使用NHibernate框架查询数据<?xml version="1.0" encoding="utf-8"?>
 2在C#中使用NHibernate框架查询数据<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
 3在C#中使用NHibernate框架查询数据  <session-factory name="NHibernate.Test">
 4在C#中使用NHibernate框架查询数据    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
 5在C#中使用NHibernate框架查询数据    <property name="connection.connection_string">
 6在C#中使用NHibernate框架查询数据      Data Source=IMMENSITY/SQLEXPRESS;Initial Catalog=NHibernateTest;uid=sa;pwd=welcome;Pooling=False
 7在C#中使用NHibernate框架查询数据    </property>
 8在C#中使用NHibernate框架查询数据    <property name="adonet.batch_size">10</property>
 9在C#中使用NHibernate框架查询数据    <property name="show_sql">false</property>
10在C#中使用NHibernate框架查询数据    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
11在C#中使用NHibernate框架查询数据    <property name="use_outer_join">true</property>
12在C#中使用NHibernate框架查询数据    <property name="command_timeout">10</property>
13在C#中使用NHibernate框架查询数据    <property name="query.substitutions">true 1false 0, yes 'Y', no 'N'</property>
14在C#中使用NHibernate框架查询数据    <mapping assembly="NHibernateTest"/>
15在C#中使用NHibernate框架查询数据  </session-factory>
16在C#中使用NHibernate框架查询数据</hibernate-configuration>
17在C#中使用NHibernate框架查询数据
18在C#中使用NHibernate框架查询数据

更改属性(同上):

赋值到输出目录选择    始终复制

生成操作改成     嵌入的资源

 

 

相关属性解释如下:

hibernate-configuration:            NHibernate的版本信息
session-factory:                       对应的类名称
connection.provider:                 连接提供器的名称
connection.driver_class:            连接驱动类的名称
connection.connection_string:    数据库连接字符串
show_sql:                                是否显示SQL语句
Dialect:                                    NHibernate方言(Dialect)的类名
use_outer_join:                        是否允许使用外连接
query.substitutions:                  把NHibernate查询中的一些短语替换为SQL短语
assembly:                               程序集名称 

 

 

最后在button的onClick事件中加入如下代码:

需导入以下两个命名空间

using NHibernate.Cfg;
using NHibernate;

 

 

 1在C#中使用NHibernate框架查询数据using System;
 2在C#中使用NHibernate框架查询数据using System.Collections.Generic;
 3在C#中使用NHibernate框架查询数据using System.ComponentModel;
 4在C#中使用NHibernate框架查询数据using System.Data;
 5在C#中使用NHibernate框架查询数据using System.Drawing;
 6在C#中使用NHibernate框架查询数据using System.Text;
 7在C#中使用NHibernate框架查询数据using System.Windows.Forms;
 8在C#中使用NHibernate框架查询数据using NHibernate.Cfg;
 9在C#中使用NHibernate框架查询数据using NHibernate;
10在C#中使用NHibernate框架查询数据
11在C#中使用NHibernate框架查询数据namespace NHibernateTest
12在C#中使用NHibernate框架查询数据{
13在C#中使用NHibernate框架查询数据    public partial class Form1 : Form
14在C#中使用NHibernate框架查询数据    {
15在C#中使用NHibernate框架查询数据        public Form1()
16在C#中使用NHibernate框架查询数据        {
17在C#中使用NHibernate框架查询数据            InitializeComponent();
18在C#中使用NHibernate框架查询数据        }

19在C#中使用NHibernate框架查询数据
20在C#中使用NHibernate框架查询数据        private void button1_Click(object sender, EventArgs e)
21在C#中使用NHibernate框架查询数据        {
22在C#中使用NHibernate框架查询数据            //会话工厂
23在C#中使用NHibernate框架查询数据            ISessionFactory factory = null;
24在C#中使用NHibernate框架查询数据            Configuration cfg = new Configuration().Configure();
25在C#中使用NHibernate框架查询数据            //构建配置文件的对象
26在C#中使用NHibernate框架查询数据            factory = cfg.BuildSessionFactory();
27在C#中使用NHibernate框架查询数据            //实例化会话工厂
28在C#中使用NHibernate框架查询数据            ISession session=factory.OpenSession();
29在C#中使用NHibernate框架查询数据            //设定HQL查询语句,HQL语句只能用于查询
30在C#中使用NHibernate框架查询数据            //注意,这里的表名不是数据库的表名,是你的实体类的名称(User)
31在C#中使用NHibernate框架查询数据            IQuery query = session.CreateQuery("from User");
32在C#中使用NHibernate框架查询数据            //得到结果集
33在C#中使用NHibernate框架查询数据            IList<User> list = query.List<User>();
34在C#中使用NHibernate框架查询数据            //关闭会话对象
35在C#中使用NHibernate框架查询数据            session.Close();
36在C#中使用NHibernate框架查询数据            this.dataGridView1.DataSource = list;
37在C#中使用NHibernate框架查询数据            
38在C#中使用NHibernate框架查询数据        }

39在C#中使用NHibernate框架查询数据    }

40在C#中使用NHibernate框架查询数据}

运行,得到数据

我刚学习此框架,可能有说的不对的地方 ,忘各位指点 

源文件下载:

http://files.cnblogs.com/immensity/NHibernateTest.rar 

相关文章:

  • 2022-01-14
  • 2021-08-23
  • 2022-02-19
  • 2021-11-17
  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-24
  • 2021-08-26
相关资源
相似解决方案