上文回顾:
之前我们说道如何通过NHibernate来做一个Hello World的一个小小的Demo (- -其实一点也不少。。,Nhibernate配置可以让很多没有耐心的人望而却步,我之前好几次都放弃了囧)。
我们现在就来讲解一下HelloWorld里面出现的各种配置文件。
配置文件种类
在NH中需要2个配置文件 1.数据库配置 NHibernate.cfg.xml 2.实体模型映射配置 ModelName.hbm.xml
1.数据库配置 NHibernate.cfg.xml 故名思议,我需要让NH帮我处理哪个数据库的CRUD的操作(只能做CRUD? 废话,NH只是一个简化数据库操作的工具而已- -)。
2.实体模型映射配置 ModelName.hbm.xml ,我们需要让NH明白他处理的数据库有哪些表,表里的列与实体类的映射关系。
数据库Config设置详解
首先我们来看一下之前的配置文件。
1、首先我们需要注册一下NH的处理组件
configSections标记必须位于config标记之首,我们通过configSections来注册NH.
2、注册了之后我们需要配置NH连接数据库的参数
我们发现NH的数据库config参数都在hibernate-configuration标记里。(沿用Hibernate的配置方式。) xmlns参数是为了引用可以自动提示的DTD验证文件。
session-factory标记是用来标识一个数据库的设置的,也就是说我们可以使用多个session-factory来达到同时操作多个/种数据库的目的,需要配置name属性达到标识不同数据库的目的,如果是一个数据库的话name属性可以省去
property这个标记故名思议就是数据库设置的属性了。 我们需要通过该标记的name属性告诉NH我们设置的是什么东西。在该标记的InnerText部分填入对应的数据。
参数名
参见值
解释
dialect
NHibernate.Dialect.MsSql2008Dialect
数据库的方言,也就是采用什么类型的数据库如MYSQL,MSSQL,ORACLE等
connection.driver_class
NHibernate.Driver.SqlClientDriver
该方言对应的处理数据库的驱动(类似抽象工厂模式里的方式)
connection.connection_string_name
connection_string_name
配置文件中Connectionstring里的某个连接
connection.provider
NHibernate.Connection.DriverConnectionProvider
必须有的。没有实际意义
show-sql
true
是否显示生成的SQL语句在输出窗口
常用的就会涉及到这几个参数,还会有一些发布以后的连接池设定。我们先忽略这些开发无关的设定。
3.配置连接数据库的连接串
实际上,我们可以在NH参数里直接写连接串,但是为了起到分离效果,还是推荐参数NET本来的连接串编写方式。
今天中午时间有限,现介绍到这里吧。后面我们会讲解Model-mapping