Spring.Net集成NHibernate配置

本文介绍了如何在.NET环境中使用Spring.Net集成NHibernate进行对象/关系映射。通过配置文件如OrmService.xml、config.xml等,简化数据库配置。同时,文章详细讲解了创建Po实体、LocalSessionFactoryObject的设置,以及IBaseDao和BaseDao的实现,用于实现对持久对象的CRUD和分页操作,进一步阐述了Service层和服务实现层的调用流程。
摘要由CSDN通过智能技术生成

NHibernate是一个面向.NET环境的对象/关系数据库映射工具(ORM)。用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。NHibernate可以单独使用,Spring.Net集成NHibernate之后可以减少不少配置,其中包括数据库配置文件的映射。

配置如下:

  • 配置文件

    OrmService.xml

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
         xmlns:db="http://www.springframework.net/database" 
         default-autowire="byName">

  <!-- 数据库和Nhibernate的相关配置 -->
  <db:provider id="DbProvider"
                   provider="System.Data.SqlClient"
                   connectionString="Data Source=${db.datasource};Database=${db.database};User Id=${db.user};Password=${db.password};"/>

  <object id="NHibernateSessionFactory" type="SessionFactory.LocalSessionFactoryObject,SessionFactory">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="EntityAssemblyNames">
      <list>
        <value>Entity</value>
      </list>
    </property>
    <!--<property name="MappingAssemblies">
      <list>
        <value>Entity</value>
      </list>
    </property>-->
    <property name="HibernateProperties">
      <dictionary>
        <entry key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
        <entry key="dialect" value="NHibernate.Dialect.MsSql2005Dialect"/>
        <entry key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
        <entry key="show_sql" value="false" />
        <entry key="adonet.batch_size" value="50"/>
        <entry key="command_timeout" value="300"/>
        <entry key="query.substitutions" value="true 1, false 0, yes 'Y', no 'N"/>

        <!--Nhibernate-->
        <entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect" />
        <entry key="hibernate.show_sql" value="false" />
        <entry key="hibernate.format_sql" value="false"/>

        <!--<entry key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" />-->
        <!--二级缓存-->
        <entry key="cache.provider_class" value="NHibernate.Caches.MemCache.MemCacheProvider,NHibernate.Caches.MemCache" />
        <!--<entry key="cache.provider_class" value="NHibernate.Cache.HashtableCacheProvider,NHibernate" />-->
        <entry key="cache.use_second_level_cache" value="false" />
        <entry key="cache.use_query_cache" value="false" />
        <entry key="cache.default_expiration" value="3000" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值