论文部分内容阅读
摘 要 开发环境中使用的小型数据库通过使用NHibernate架构,然后方便快捷地迁移到实际生产环境中,不仅减少了开发系统的成本,同时对数据库环境的适应能力大大提高,使得开发人员无需关注数据库使用上的细节问题,可以专注于应用系统的功能实现。
关键词 数据库;迁移;零编码
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2013)12-0030-01
在应用系统开发过程中,开发人员的开发环境与实际生产环境总是存在一定的差异,特别是在基于数据库的开发应用中,后台数据在实际环境中通常为大型数据库,在开发过程中,如果也使用大型数据库,无疑会增加开发成本,同时带来开发人员调试的不便捷性,因此开发时,如果能使用小型数据库,甚至文件型数据库,对开发人员来说是一件极其有利的事情。
如何将开发环境中使用的数据库方便、快捷、安全地迁移到实际生产环境中,就成为了一个必须要解决的难题。
1 NHibernate架构简介
在现代程序开发时,多以面向对象的方式组织,瞬时的数据也多以对象的形式存在,而持久的数据多保存在关系型数据库中。所以,在通常的情况下,持久化将要完成的操作就是把对象保存到关系型数据库的表记录中,或者把关系型数据库中的表记录读取出来再以对象的形式进行封装。
在传统的Java开发环境中Hibernate架构是一个非常成熟而且得到应用广泛的关系型持久化工具,NHibernate 架构来其在.Net应用系统使用的实现。NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,让开发人员投入到业务逻辑的实现上。
2.2 添加实体类和映射文件
NHibernate是通过映射文件,将持久对象与数据表中的记录联系在一起,通过映射关系将数据表中的记录转化为对象,并且将记录中的字段转化为对象的属性,所以映射文件是“对象-关系”映射中至关重要的一个环节。映射文件中不仅描述了NHibernate在运行时需要使用到的元素类型和属性,同时还包含了额外的元素属性,如被映射字段是否允许为空等,这些元素属性在NHibernate自动生成数据表时非常重要,使得用户在迁移数据库后,只要有一个数据库连接,其中的表就能根据映射文件自动生成。
NHibernate架构的“对象-关系”模型实现了对象模型和数据库表之间映射,通过架构内部机制实现了SQL的自动生成和执行,开发人员使用过程中只需要定义好数据库表与持久对象之间的映射关系,即可通过NHibernate架构提供的方法完成持久化操作,开发人员无需清晰了解各个数据库之间的语法差异,甚至不需要对SQL语法熟练掌握,NHibernate 会根据制定的“对象-关系”模型自动生成相应的SQL语句,并调用ADO.NET接口加以执行,得到相应结果。
3 结束语
NHibernate架构方便地将数据库模式映射为对象模型,使开发人员摆脱了SQL语句的开发,并且屏蔽了各个数据库之间的差异,使用开发的应用系统能适应多数据库模型,在多种数据库中自由切换,减少了开发工作量,使得后台数据库在实际生产环境与开发环境中可以相互独立,降低了开发成本。
参考文献
[1]百度百科.NHibernate百科名片.
关键词 数据库;迁移;零编码
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2013)12-0030-01
在应用系统开发过程中,开发人员的开发环境与实际生产环境总是存在一定的差异,特别是在基于数据库的开发应用中,后台数据在实际环境中通常为大型数据库,在开发过程中,如果也使用大型数据库,无疑会增加开发成本,同时带来开发人员调试的不便捷性,因此开发时,如果能使用小型数据库,甚至文件型数据库,对开发人员来说是一件极其有利的事情。
如何将开发环境中使用的数据库方便、快捷、安全地迁移到实际生产环境中,就成为了一个必须要解决的难题。
1 NHibernate架构简介
在现代程序开发时,多以面向对象的方式组织,瞬时的数据也多以对象的形式存在,而持久的数据多保存在关系型数据库中。所以,在通常的情况下,持久化将要完成的操作就是把对象保存到关系型数据库的表记录中,或者把关系型数据库中的表记录读取出来再以对象的形式进行封装。
在传统的Java开发环境中Hibernate架构是一个非常成熟而且得到应用广泛的关系型持久化工具,NHibernate 架构来其在.Net应用系统使用的实现。NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,让开发人员投入到业务逻辑的实现上。
2.2 添加实体类和映射文件
NHibernate是通过映射文件,将持久对象与数据表中的记录联系在一起,通过映射关系将数据表中的记录转化为对象,并且将记录中的字段转化为对象的属性,所以映射文件是“对象-关系”映射中至关重要的一个环节。映射文件中不仅描述了NHibernate在运行时需要使用到的元素类型和属性,同时还包含了额外的元素属性,如被映射字段是否允许为空等,这些元素属性在NHibernate自动生成数据表时非常重要,使得用户在迁移数据库后,只要有一个数据库连接,其中的表就能根据映射文件自动生成。
NHibernate架构的“对象-关系”模型实现了对象模型和数据库表之间映射,通过架构内部机制实现了SQL的自动生成和执行,开发人员使用过程中只需要定义好数据库表与持久对象之间的映射关系,即可通过NHibernate架构提供的方法完成持久化操作,开发人员无需清晰了解各个数据库之间的语法差异,甚至不需要对SQL语法熟练掌握,NHibernate 会根据制定的“对象-关系”模型自动生成相应的SQL语句,并调用ADO.NET接口加以执行,得到相应结果。
3 结束语
NHibernate架构方便地将数据库模式映射为对象模型,使开发人员摆脱了SQL语句的开发,并且屏蔽了各个数据库之间的差异,使用开发的应用系统能适应多数据库模型,在多种数据库中自由切换,减少了开发工作量,使得后台数据库在实际生产环境与开发环境中可以相互独立,降低了开发成本。
参考文献
[1]百度百科.NHibernate百科名片.