添加Spring.NET为NHibernate的容器配置
现在就可以在Spring.NET的容器中添加Nhibernate的配置了。
如下Spring_nhibernate.xml:
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns='http://www.springframework.net'>
<!-- NHibernate初始化的 -->
<object id="DbProvider" type="OKEC.Sample.Spring.SQLProvider,SpringNHibernateSample">
    <property name="ConnectionString" value="Data Source=192.168.88.15;Database=liluhua;User ID=sa;Password=sa;Trusted_Connection=False"/>
</object>
<object id="SessionFactory"
type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="MappingAssemblies">
        <list>
            <value>SpringNhibernateSample</value>
        </list>
    </property>
    <property name="HibernateProperties">
        <dictionary>
            <entry
key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
            <!--entry
key="hibernate.connection.connection_string" value="Data Source=192.168.188.188;Database=Test;User ID=satest;Password=satest;Trusted_Connection=False"/-->
            <entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect"/>
            <entry
key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>  
        </dictionary>
    </property>
</object>
<object id="HibernateTransactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="sessionFactory" ref="SessionFactory"/>
</object>
<object id="TransactionInterceptor"
type="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data">
    <property name="TransactionManager" ref="HibernateTransactionManager"/>
    <property name="TransactionAttributeSource">
        <object
type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data"/>
    </property>
</object>
<!-- 以下是业务相关的 -->
<object id="UserDao"
type="OKEC.Sample.NHibernate.NHibernateTest.UserDao, SpringNHibernateSample">
        <property name="SessionFactory" ref="SessionFactory"/>
</object>
</objects>
我们现在对上面的加以细解:
下面这几行,是配置Nhibernate所需的数据库的DbProvider
<object id="DbProvider" type="OKEC.Sample.Spring.SQLProvider,SpringNHibernateSample">
    <property name="ConnectionString" value="Data Source=192.168.88.15;Database=liluhua;User ID=sa;Password=sa;Trusted_Connection=False"/>
</object>
下面的是对Nhibernate的SessionFactory的封装的对像的定义
<object id="SessionFactory"
type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="MappingAssemblies">
        <list>
            <value>SpringNhibernateSample</value>
        </list>
    </property>
    <property name="HibernateProperties">
        <dictionary>
            <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
            <!--entry key="hibernate.connection.connection_string" value="Data Source=192.168.188.188;Database=Test;User ID=satest;Password=satest;Trusted_Connection=False"/-->
            <entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect"/>
            <entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>  
        </dictionary>
    </property>
</object>
下面的是对Nhibernate中的Transaction封装对像
<object id="HibernateTransactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="sessionFactory" ref="SessionFactory"/>
</object>
<object id="TransactionInterceptor" type="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data">
    <property name="TransactionManager" ref="HibernateTransactionManager"/>
    <property name="TransactionAttributeSource">
        <object type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data"/>
    </property>
</object>
下面是对NHibernate业务操作对像的定义
<object id="UserDao"
type="OKEC.Sample.NHibernate.NHibernateTest.UserDao, SpringNHibernateSample">
        <property name="SessionFactory" ref="SessionFactory"/>
</object>

C#.NET编程----Spring.NET NHibernate整合相关推荐

  1. C#.NET编程----Spring.NET NHibernate整合(一)

    第一个Spring.NET的程序 建立项目 项目名称为:SpringSample,NameSpace为"OKEC.Sample.Spring". 添加HelloTest类 Hell ...

  2. spring boot mybatis 整合_MyBatis学习:MyBatis和Spring整合

    1. 整合的工程结构 首先我们来看下整合之后的工程结构是什么样的. 2. 配置文件 在于spring整合之前,mybatis都是自己管理数据源的,然后sqlSessionFactory是我们自己去注入 ...

  3. Spring、Mybatis整合Service优化思路,DAO层、Service层最终编码以及log4j日志的使用

    5. Spring.Mybatis整合Service层事务控制优化思路分析 # spring中处理事务的两种方式1. 编程式事务处理定义:通过在业务层中注入事务管理器对象,然后通过编码的方式进行事务控 ...

  4. Spring Security(5) 整合OAuth2

    文章目录 一.前言 二.什么是OAuth2? 三.应用场景 四.三部分 五.四种授权模式 1. 授权码模式(authorization code) 2. 简化模式(implicit) 3. 密码模式( ...

  5. Spring Cloud Gateway 整合阿里 Sentinel网关限流实战!

    前一篇文章介绍了Spring Cloud Gateway的一些基础知识点,今天陈某就来唠一唠网关层面如何做限流? 文章目录如下: 网关如何限流? Spring Cloud Gateway本身自带的限流 ...

  6. Spring和CXF整合发布WebService(服务端、客户端)

    参考Spring和CXF整合发布WebService(服务端.客户端) 转载于:https://www.cnblogs.com/timspace/p/11113576.html

  7. spring boot 学习(二)spring boot 框架整合 thymeleaf

    spring boot 框架整合 thymeleaf spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP.因为若一定要使用 JSP 将无法使用. 注意:本文主要参考学习了大神 ...

  8. spring入门(11)-spring与hibernate整合完成增删改查的操作(封装HibernateTemplate模版类对象)

    今天是spring的最后一节课,这节课老师讲了spring与hibernate整合完成增删改查的操作,这是很重要的一节课,这也是第一次真正的实现spring结合Hibernate和数据库连接上,下面是 ...

  9. spring.net nhibernate 分布布式事务(下)

    spring.net nhibernate 分布布式事务(下) 摘自: http://www.cnblogs.com/GoodHelper/archive/2010/07/30/SpringNetDi ...

最新文章

  1. 一文了解动态场景中的SLAM的研究现状
  2. 开源史上最成功的8个开源产品
  3. C# 开发WinCE 遇到Motorola PDA 的问题记录
  4. 微信小程序星级评分和展示
  5. Windows 技术篇-win7利用系统自带工具关闭开机启用程序,不使用杀毒软件设置开机启动项
  6. dj电商-项目开发流程
  7. 计算机图形学资源收集04
  8. 信息抽取——关系抽取
  9. Sketch 51 for Mac(矢量绘图软件)汉化激活版
  10. 深入理解Attention及变种(三)
  11. linux上系统烧录工具,烧录操作系统安装光盘镜像到 U 盘的方法
  12. idea中编译DataSphereStudio编译方法及问题排查
  13. 南繁水稻国家公园国稻种芯(三亚)水稻节功能性农业产业园
  14. swf转gaf使用方法
  15. RH413企业安全加固 第14章 配置系统日志
  16. ​华海诚科在科创板注册生效:预计年收入超3亿元,深圳哈勃为股东​
  17. android 游戏降低画质6,怎么改善Android游戏的画质?
  18. 复化辛普森公式的误差matlab,求两个matlab的程序,分别利用复化梯形公式和辛普森公式求解误差函数erf(x)。...
  19. 澳洲社区宜居指数:首都第一西澳垫底
  20. 内存函数:memcpy、memmove、memcmp、memset(超详细讲解,小白一看就懂!!!!)

热门文章

  1. 26 Java GC算法 垃圾收集器、标记 -清除算法、复制算法、标记-压缩算法、分代收集算法
  2. 04_pandas字符串函数;数据合并concat、merge;分组groupby;Reshaping;Pivot tables;时间处理(date_range、tz_localize等)
  3. 2012-05-04 12:58 eclipse老是building workspace及自动更新问题,eclipse加速
  4. 修改JBOSS服务器的端口号
  5. CSS中一个font缩写的实例
  6. 汇编 DA A 十进制调整指令
  7. lotus表单域怎么获取视图结果_翻译案例 | 商业推广类文章怎么翻?如何修改译文?...
  8. linux uvc协议_linux使用UVC采集数据
  9. 高质量C++/C编程指南(林锐)
  10. Light-Head R-CNN相关资料