日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(三)——NHibernate配置...

發布時間:2023/12/10 asp.net 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(三)——NHibernate配置... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、在CMS.App新增XML配置文件web_nhibernate.xml并設置為“嵌入的資源”

2、在Web.config中<spring> -> <resource>加入配置:
<resource?uri="assembly://CMS.App/CMS.App/web_nhibernate.xml"/>
3、web_nhibernate.xml中的代碼:

Code
Code
<?xml?version="1.0"?encoding="utf-8"??>
<objects?xmlns="http://www.springframework.net"
?????????xmlns:db
="http://www.springframework.net/database">
??
<!--?用以我們在其它的應用程序中,配置數據訪問?-->
??
<object?type="Spring.Objects.Factory.Config.PropertyPlaceholderConfigurer,?Spring.Core">
????
<property?name="ConfigSections"?value="databaseSettings"/>
??
</object>

??
<!--SessionFactory對象,其中包括一些比較重要的屬性?-->
??
<object?id="NHibernateSessionFactory"?type="Spring.Data.NHibernate.LocalSessionFactoryObject,?Spring.Data.NHibernate20">
????
<property?name="DbProvider"?ref="DbProvider"/>
????
<property?name="MappingAssemblies">
??????
<list>
?????????
<!--NHibernate模型和相關配置文件所在的程序集-->
????????
<value>CMS.Model</value>
??????
</list>
????
</property>
????
<property?name="HibernateProperties">
??????
<dictionary>
????????
<entry?key="hibernate.connection.provider"
???????????????value
="NHibernate.Connection.DriverConnectionProvider"/>
????????
<entry?key="dialect"
???????????????value
="NHibernate.Dialect.MsSql2000Dialect"/>
????????
<entry?key="hibernate.connection.driver_class"
???????????????value
="NHibernate.Driver.SqlClientDriver"/>

??????
</dictionary>
????
</property>
????
<property?name="ExposeTransactionAwareSessionFactory"?value="true"?/>
??
</object>

??
<!--將id為NHibernateSessionFactory的對象注入到HibernateTemplate中-->
??
<object?id="HibernateTemplate"?type="Spring.Data.NHibernate.HibernateTemplate">
????
<property?name="SessionFactory"?ref="NHibernateSessionFactory"?/>
????
<property?name="TemplateFlushMode"?value="Auto"?/>
????
<property?name="CacheQueries"?value="true"?/>
??
</object>
</objects>

在CMS.MvcWeb中加入對CMS.Model類庫的引用(加入對模型層的引用)

NHibernate配置完成,下面是測試:
在CMS.Model新增以下文件:


User.cs:
Code
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;

namespace?CMS.Model
{
????
public?class?User
????{
????????
public?int?UserID
????????{?
get;?set;?}

????????
public?string?UserName
????????{?
get;?set;?}

????????
public?string?UserPwd
????????{?
get;?set;?}
????}
}

User.hbm.xml:(記得要設置成“嵌入的資源”)
Code
<?xml?version="1.0"?encoding="utf-8"??>
<hibernate-mapping?xmlns="urn:nhibernate-mapping-2.2">

??
<class?name="CMS.Model.User,?CMS.Model"?table="t_User"??lazy="false">

????
<id?name="UserID"?type="Int32"?unsaved-value="0">
??????
<column?name="tm_uid"?sql-type="int"?not-null="true"?unique="true"/>
??????
<generator?class="increment"?/>
????
</id>

????
<property?name="UserName"???????????column="tm_userName"????????type="System.String"????length="20"?????/>
????
<property?name="UserPwd"????????????column="tm_userPwd"?????????type="System.String"????length="32"?????/>

??
</class>
</hibernate-mapping>

在CMS.IDAL類庫中新增:
Code
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;

namespace?CMS.IDAL
{
????
public?interface?IUserDao
????{
????????
void?Save(CMS.Model.User?user);
????}
}

在CMS.DAL類庫中新增對上面接口的實現:
先引用:
CMS.Model
CMS.IDAL
spring.core
spring.data
spring.data.nhibernate20
Code
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?CMS.IDAL;
using?Spring.Data.NHibernate.Support;

namespace?CMS.DAL
{
????
public?class?UserDao?:?HibernateDaoSupport,?IUserDao
????{
????????
#region?IUserDao?成員

????????
public?void?Save(CMS.Model.User?user)
????????{
????????????
this.HibernateTemplate.Save(user);
????????}

????????
#endregion
????}
}


web_business.xml:

Code
<?xml?version="1.0"?encoding="utf-8"??>
<!--?業務層的對像定義?DAO?&?Manager?-->
<objects?xmlns='http://www.springframework.net'>
??
<object?id="TestBLL"?type="CMS.BLL.TestBLL,?CMS.BLL">
??
</object>
??
??
<object?id="UserDao"?type="CMS.DAL.UserDao,?CMS.DAL">
????
<property?name="HibernateTemplate"?ref="HibernateTemplate"/>
??
</object>
</objects>

web_web.xml:
Code
<?xml?version="1.0"?encoding="utf-8"??>
<!--?WEB層的頁面對像定義?-->
<objects?xmlns='http://www.springframework.net'>
??
<object?id="Default"?type="Default.aspx">
????
<property?name="ITestBLL"?ref="TestBLL"?/>
????
<property?name="IUserDao"?ref="UserDao"?/>
??
</object>
</objects>

在CMS.Web中添加好DAL,IDAL,MODEL的引用

Default.aspx.cs
Code
using?System.Web;
using?System.Web.Mvc;
using?System.Web.UI;
using?CMS.IBLL;
using?CMS.IDAL;

namespace?CMS.MvcWeb
{
????
public?partial?class?_Default?:?Page
????{
????????
public?ITestBLL?ITestBLL
????????{?
get;?set;?}

????????
public?IUserDao?IUserDao
????????{?
get;?set;?}

????????
public?void?Page_Load(object?sender,?System.EventArgs?e)
????????{
????????????ITestBLL.Write();

????????????CMS.Model.User?user?
=?new?CMS.Model.User();
????????????user.UserName?
=?"admin";
????????????user.UserPwd?
=?"admin888";

????????????IUserDao.Save(user);
????????????Response.Write(
"添加成功!");
????????????
//?Change?the?current?path?so?that?the?Routing?handler?can?correctly?interpret
????????????
//?the?request,?then?restore?the?original?path?so?that?the?OutputCache?module
????????????
//?can?correctly?process?the?response?(if?caching?is?enabled).

????????????
//string?originalPath?=?Request.Path;
????????????
//HttpContext.Current.RewritePath(Request.ApplicationPath,?false);
????????????
//IHttpHandler?httpHandler?=?new?MvcHttpHandler();
????????????
//httpHandler.ProcessRequest(HttpContext.Current);
????????????
//HttpContext.Current.RewritePath(originalPath,?false);
????????}
????}
}

運行效果:
?

源碼下載

轉載于:https://www.cnblogs.com/cjnmy36723/archive/2009/08/08/1541958.html

總結

以上是生活随笔為你收集整理的ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(三)——NHibernate配置...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。