NHibernate之旅(18):初探代码生成工具使用

本节内容

引入

代码生成工具

结语

引入

我们花了大量的篇幅介绍了相关NHibernate的知识,一直都是带着大家手动编写代码,首先创建数据库架构,然后编写持久化类和映射文件,最后编写数据操作方法,测试方法。这是典型的数据库驱动开发(DbDD,Database-Driven Developent)技术,但是自己不是这样做的,我先编写持久化类和映射文件,然后偷偷的使用SchemaExport工具把数据库生成了,按上面的步骤写文章的,关于SchemaExport工具就是下一篇的事情了,这篇说说利用数据库架构用代码生成工具生成持久化类和映射文件。

所谓数据库驱动模型是指对象模型随着数据库架构改变而改变,那么我们为什么还使用这个技术呢?有两种原因:你的数据库是遗留下来的系统使用的,数据库中已经存在大量有用数据,不可以更换数据库就将就着使用了;你的数据库架构按照需求分析基本上确定了,不要做任何改动,在系统设计初期已经把数据库建好了。

让我们用一张图片来大致展示典型的数据库驱动开发模型。以数据库架构为核心。


使用数据库驱动模型流程就是当数据库架构修改时候,映射文件和持久化类通过代码生成工具重新生成一下。我们只要修改应用程序即可。

这里延伸一个问题:数据库是否需要在项目开始前设计?

如果我们进行数据库设计,那么就产生一系列问题:我们在面向对象领域设计持久化对象必须考虑事先设计好的数据库表结构以及表关系,在编写映射文件时候也要考虑,在面向对象中的继承、多态等特性根本没法使用。所以我不推荐在项目开始设计数据库,大家认为如何?所以使用代码生成工具是下下策。

代码生成工具

顾名思义,代码生成工具大家都使用过,有商业的CodeSmith开源的MyGeneration等,这篇我们介绍如何使用开源MyGeneration代码生成工具根据数据库架构生成映射文件和持久化类。如果你机器上还没有安装MyGeneration,请到这里下载,然后安装MyGeneration,安装之后,打开MyGeneration,配置“默认设置”、打开“模板浏览器”窗口,这些步骤如果不清楚的话请转向NHibernate之旅(15):探索NHibernate中使用存储过程(上)文章中吧,具体介绍了上面的步骤和方法。

再提示一下:如果你的操作系统是Windows Vista,请右击“以管理员身份运行”MyGeneration。

这篇我们接着做:

Step1:点击“模板浏览器”窗口的第三个“在线更新”按钮:来在线下载模板。

时间: 2024-08-02 21:11:48

NHibernate之旅(18):初探代码生成工具使用的相关文章

基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持

在我们开发系统界面,包括Web和Winform的都一样,主要的界面就是列表展示主界面,编辑查看界面,以及一些辅助性的如导入界面,选择界面等,其中列表展示主界面是综合性的数据展示界面,一般往往需要对记录进行合理的分页,集成各种增删改查的按钮等功能.随着开发项目的需求变化,对数据记录分页展示.排序等功能都是常态的要求,因此在代码生成工具中调整了主列表界面的列表展示插件为Bootstrap-table插件,本篇随笔主要介绍在代码生成工具Database2Sharp中集成对Bootstrap-table

WCF开发框架形成之旅---结合代码生成工具实现快速开发

我的WCF开发框架推出很久了,一直有不少的朋友支持及提供良好的完善意见,随着利用这种基于Winform界面的WCF开发框架开发了不同类型的项目,各种WCF对象的调用及处理逐渐稳定及统一化,因此是时候让我的开发伴侣(代码生成工具Database2Sharp)来做更多更有技术性的工作了---提供基于我的WCF开发框架模式创建的项目工程及调用WCF的Winform界面处理代码.这样在WCF快速开发框架中,有了更强更高效率的支持,整个项目的开发,就更加是水到渠成,闲庭散步了. 因此,代码生成工具生成框架

[原创]Fluent NHibernate之旅

ORM大家都非常熟悉了吧,我相信也有很多朋友正在用自己或者一些公开的框架,而最常用而且强大的,非Hibernate了(Net中为NHibernate),网上的文档非常多,不过在博客园中,介绍NHibernate的非常少,李哥的NHibernate系列(NHibernate之旅)不失为一个经典,对于新手的我们,需要完全掌握还需要很长一段路,对于新手来说,最初的配置是非常头大的一件事情,好在老赵推荐一个开源的框架Fluent NHibernate,有了它,我们可以完全脱离配置文件,不过博客园中介绍F

NHibernate之旅(15):探索NHibernate中使用存储过程(上)

引入 上一篇,我们介绍了视图,征集大家的意见,我接下来可能用三篇篇幅来介绍在NHibernate中如何使用存储过程的整个详细过程,这些全是在实际运用中积累的经验,涉及刚刚使用的错误信息,如何修改存储过程,并且比较没有使用存储过程的不同点,并非官方比较权威的资料,所以敬请参考. 使用MyGeneration生成存储过程 由于写存储过程不是这节的重点,我们来利用MyGeneration代码生成工具来利用为Customer表生成插入.更新.删除记录的存储过程.顺便也来学习MyGeneration开源的

使用iBatis的自动化代码生成工具Abator

原来还不知道iBatis也有像Hibernate类似的自动化代码生成工具,今天找到 Abator这工具也挺不错的,在ecelipse上面小试了一把: 1.获得Abator http://ibatis.apache.org/abator.html Eclipse可以自动的进行Update获取此Plugin,具体见官方的安装步骤 2.安装好后将在New菜单中看到一个新的文件类型Abator for iBATIS Configuration File,此是Abator的配置文件,配置文件的详细说明见

代码生成工具随笔(1) ---关于代码生成器

本人比较早就开始编写代码生成器, 第一款的生成工具SharpCode(有兴趣的可以在Google上搜索一下http://www.google.com/search?hl=zh-CN&newwindow=1&q=SharpCode&lr=), 就开始编写支持多数据库的C#代码生成工具, 一直以来也很想把该工具做的更加智能化一些, 可是工作之余,很少有时间, 所以新版本的代码生成工具一直停留在蜗牛式的开发过程中.不过一直留意着代码生成工具的前沿情况, 有CodeSmith, MyGen

Database2Sharp2009 代码生成工具

NHibernate.Castle-ActiveRecord和PetShop架构的C#代码生成工具 Database2Sharp       文件大小:  5655KB   更新时间:  2009-5-7 下载地址:   http://www.iqidi.com/Download/Database2SharpSetup.rar 在线帮助:   2009-5-7修改:增加企业级别的界面自动生成,集成在Enterprise Library架构中,并更新EditControl.SearchContro

css3手册: 实用的 CSS3 参考手册和代码生成工具

CSS3技术现在越来越成熟,通过CSS3的一些新特性(如box-sizing.边界半径.文字阴影.渐变等)创建的效果已经令前端开发者兴奋不已.使 用CSS3进行前端设计是未来的发展趋势.因此,如果你是一名前端设计师,就需要掌握这些最新的技术,否则就有可能会被淘汰. 一.参考手册 1.  Idiomatic CSS 编写统一.符合习惯的CSS的原则,有中文版本. 2.  CSS3 Click Chart 示例代码和CSS3特性支持情况表. 3.  CSS3 Selector CSS3 Select

CSS3参考手册和CSS3代码生成工具加速你学习网页制作

文章简介:通过CSS3的一些新特性(如box-sizing.边界半径.文字阴影.渐变等)创建的效果已经令前端开发者兴奋不已.使用CSS3进行前端设计是未来的发展趋势.因此,如果你是一名前端设计师,就需要掌握这些最新的技术,否则就有可能会被淘汰. CSS3技术现在越来越成熟,通过CSS3的一些新特性(如box-sizing.边界半径.文字阴影.渐变等)创建的效果已经令前端开发者兴奋不已.使用CSS3进行前端设计是未来的发展趋势.因此,如果你是一名前端设计师,就需要掌握这些最新的技术,否则就有可能会