NHibernate配置入门
NHibernate框架已經出了很久,一直沒趕上用它,閑著沒事,今天來試用一下,結果,配置錯誤N多,都不敢再試了,還好最后還是配置出來了。
首先 沒安裝vs2005的,趕快安裝,安裝好了的可以http://downloads.sourceforge.net/nhibernate/NHibernate-1.2.0.CR1.msi?modtime=1172161735&big_mirror=0
下載好之后 安裝MSI文件。安裝好了在安裝目錄下會有一個Bin目錄,該目錄下就存放著NHibernate的DLL文件,今天我們只用到三個: Iesi.Collections.dll,log4net.dll,NHibernate.dll.
好了 我們準備工作開始了之后就進入正題了。
使用的數據庫為SqlServer2000,
建庫腳本為:
Codeif exists(select * from sysdatabases where name='NHB')
drop database NHB
GO
create database NHB
GO
Create Table Users
(
Id int identity(1,1) primary key,
[Name] nvarchar(20) uinque not null,
[Pwd] nvarchar(20) not null
)
第一步:新建一個空白解決方案
第二步:在解決方案上右鍵,添加一個網站,命名為:MyNHibernate,呵呵 做Web做多了,還是用Web來測試吧。。
第三步:在解決方案上右鍵,添加一個類庫 命名為:Model....
第四步:在Model類庫中添加一個新類User
Codenamespace NHibernateTest
{
public class User
{
int _id;
public int Id
{
get { return _id; }
set { _id = value; }
}
string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
string _pwd;
public string Pwd
{
get { return _pwd; }
set { _pwd = value; }
}
}
}
在類庫中添加一個xml文件命名為:User.hbm.xml
Code<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="NHibernateTest.User,Model" table="Users" lazy="false">
<id name="Id" column="Id" unsaved-value="0">
<generator class="native" />
</id>
<property name="Name" column="Name" type="string" length="64" not-null="true" unique="true"></property>
<property name="Pwd" column="Pwd" type="string" length="64" not-null="true"></property>
</class>
</hibernate-mapping>
在Xml文件的屬性中將生成操作設為:嵌入的資源
好了Model類庫已經建好。。
我們在MyNHibernate網站上右鍵 添加引用 選擇項目 選擇Model
現在我們開始配置NHibernate了
拷貝Iesi.Collections.dll,log4net.dll,NHibernate.dll這三個DLL放入網站的Bin目錄下。。。同時在Bin目錄下新建一個hibernate.cfg.xml的配置文件
文件的內容如下:
Code<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibrtnate-configuration-2.2">
<session-factory xmlns="urn:nhibernate-configuration-2.2">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Server=.;user id=sa;pwd=123456;database=NHB</property>
<property name="show_sql">false</property>
<property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
<property name="use_outer_join">true</property>
<mapping assembly="Model" />
</session-factory>
</hibernate-configuration>
該文件就是用來配置NHibernate 創建ISessionFactory時會自動找到該文件 同時 我們也可以在Web.config中配置NHibernate 這里就不寫了
這里注意一下:session-factory的xmlns屬性必須配置。。<mapping assembly=""/>這里寫上你的數據持久層類庫的名字 供NHibernate映射。。。注意名字一定要正確。
好了 我們配置好之后就可以使用NHibernate了
在Default.aspx.cs的Page_Load代碼中我們寫上
Code/*using NHibernate;
using NHibernate.Cfg;
using NHibernateTest;引用的DLL*/
NHibernate.Cfg.Configuration cfg=new NHibernate.Cfg.Configuration();
ISessionFactory factory = cfg.Configure().BuildSessionFactory();
ISession session = factory.OpenSession();
NHibernateTest.User user = new User();
user.Name = "xiaopeng";
user.Pwd = "xiaopeng";
try
{
session.Save(user);
Response.Write("Success");
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
運行 測試 查看Sql數據庫中的數據 成功 好了 就到這。。。
總結
以上是生活随笔為你收集整理的NHibernate配置入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 飞鸽传书官方网站 2012 最新源码公开
- 下一篇: 对于内向、不善于社交的人来说,如何建立人