C#.NET编程----Spring.NET NHibernate整合
添加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整合相关推荐
- C#.NET编程----Spring.NET NHibernate整合(一)
第一个Spring.NET的程序 建立项目 项目名称为:SpringSample,NameSpace为"OKEC.Sample.Spring". 添加HelloTest类 Hell ...
- spring boot mybatis 整合_MyBatis学习:MyBatis和Spring整合
1. 整合的工程结构 首先我们来看下整合之后的工程结构是什么样的. 2. 配置文件 在于spring整合之前,mybatis都是自己管理数据源的,然后sqlSessionFactory是我们自己去注入 ...
- Spring、Mybatis整合Service优化思路,DAO层、Service层最终编码以及log4j日志的使用
5. Spring.Mybatis整合Service层事务控制优化思路分析 # spring中处理事务的两种方式1. 编程式事务处理定义:通过在业务层中注入事务管理器对象,然后通过编码的方式进行事务控 ...
- Spring Security(5) 整合OAuth2
文章目录 一.前言 二.什么是OAuth2? 三.应用场景 四.三部分 五.四种授权模式 1. 授权码模式(authorization code) 2. 简化模式(implicit) 3. 密码模式( ...
- Spring Cloud Gateway 整合阿里 Sentinel网关限流实战!
前一篇文章介绍了Spring Cloud Gateway的一些基础知识点,今天陈某就来唠一唠网关层面如何做限流? 文章目录如下: 网关如何限流? Spring Cloud Gateway本身自带的限流 ...
- Spring和CXF整合发布WebService(服务端、客户端)
参考Spring和CXF整合发布WebService(服务端.客户端) 转载于:https://www.cnblogs.com/timspace/p/11113576.html
- spring boot 学习(二)spring boot 框架整合 thymeleaf
spring boot 框架整合 thymeleaf spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP.因为若一定要使用 JSP 将无法使用. 注意:本文主要参考学习了大神 ...
- spring入门(11)-spring与hibernate整合完成增删改查的操作(封装HibernateTemplate模版类对象)
今天是spring的最后一节课,这节课老师讲了spring与hibernate整合完成增删改查的操作,这是很重要的一节课,这也是第一次真正的实现spring结合Hibernate和数据库连接上,下面是 ...
- spring.net nhibernate 分布布式事务(下)
spring.net nhibernate 分布布式事务(下) 摘自: http://www.cnblogs.com/GoodHelper/archive/2010/07/30/SpringNetDi ...
最新文章
- 一文了解动态场景中的SLAM的研究现状
- 开源史上最成功的8个开源产品
- C# 开发WinCE 遇到Motorola PDA 的问题记录
- 微信小程序星级评分和展示
- Windows 技术篇-win7利用系统自带工具关闭开机启用程序,不使用杀毒软件设置开机启动项
- dj电商-项目开发流程
- 计算机图形学资源收集04
- 信息抽取——关系抽取
- Sketch 51 for Mac(矢量绘图软件)汉化激活版
- 深入理解Attention及变种(三)
- linux上系统烧录工具,烧录操作系统安装光盘镜像到 U 盘的方法
- idea中编译DataSphereStudio编译方法及问题排查
- 南繁水稻国家公园国稻种芯(三亚)水稻节功能性农业产业园
- swf转gaf使用方法
- RH413企业安全加固 第14章 配置系统日志
- ​华海诚科在科创板注册生效:预计年收入超3亿元,深圳哈勃为股东​
- android 游戏降低画质6,怎么改善Android游戏的画质?
- 复化辛普森公式的误差matlab,求两个matlab的程序,分别利用复化梯形公式和辛普森公式求解误差函数erf(x)。...
- 澳洲社区宜居指数:首都第一西澳垫底
- 内存函数:memcpy、memmove、memcmp、memset(超详细讲解,小白一看就懂!!!!)
热门文章
- 26 Java GC算法 垃圾收集器、标记 -清除算法、复制算法、标记-压缩算法、分代收集算法
- 04_pandas字符串函数;数据合并concat、merge;分组groupby;Reshaping;Pivot tables;时间处理(date_range、tz_localize等)
- 2012-05-04 12:58 eclipse老是building workspace及自动更新问题,eclipse加速
- 修改JBOSS服务器的端口号
- CSS中一个font缩写的实例
- 汇编 DA A 十进制调整指令
- lotus表单域怎么获取视图结果_翻译案例 | 商业推广类文章怎么翻?如何修改译文?...
- linux uvc协议_linux使用UVC采集数据
- 高质量C++/C编程指南(林锐)
- Light-Head R-CNN相关资料