共计 3016 个字符,预计需要花费 8 分钟才能阅读完成。
最近要忙期考, 但还是决定每天抽点空来写 CodeSmith 的系列文章了, 在此切实不敢用教程这个词语, 毕竟本人对 CodeSmith 理解的也不是很多, 有很多牛人都在博客园公布了不少对于 CodeSmith 的文章了, 但我还是想发表一下本人的心得, 心愿能给初学者更多的参考, 教程中有谬误或者表述不清的中央欢送大家指出, 我还是会秉承之前的格调, 用尽量多的图来阐明步骤, 因为我感觉还是图文并茂的文章比拟容易了解.
好了, 废话少说, 开始咱们的 CodeSmith 旅程吧, 我先讲讲这个系列教程要实现的指标吧, 家喻户晓,CodeSmith 其中一个弱小的性能就是按照模板生成批量代码, 这也是吸引着泛滥编程人士应用它的起因, 它大大的节约了编程工夫, 省去了大量复制粘贴的废操作.
&emsp &emsp 首先, 既然要解说如何应用 CodeSmith 和 PowerDesigner 疾速生成批量代码, 当然要先装置这 2 个软件啦, 上面就简略说说如何装置破解这 2 款软件吧, 当然破解只是学习之用, 请大家不要用于商业用途哈, 要反对正版, 大家都是做软件的, 晓得开发一套软件实属不易啊.
CodeSmith 装置办法:
1). 点击下载安装文件
2). 运行, 装置步骤就不说了, 抉择你要装置的目录, 一路下一步就 OK 了.
3). 运行, 抉择 CodeSmith 的装置目录, 一路下一步, 就破解
实现啦, 接着你就能够在开始 –CodeSmith Professional 5.1–CodeSmith Studio 运行程序啦.
PowerDesigner 装置办法:
http://dev.firnow.com/course/…
装置完这 2 个软件了, 接着就开始应用吧, 还是和以前一样, 先提出需要, 再做实例, 因为咱们之所以应用它们, 必定是因为它们能奇妙的解决某种问题, 不然咱们干嘛花那么多工夫和硬盘空间装置它们.
好, 咱们当初的需要是: 心愿当接到一个新的工程项目时, 程序员只须要依据我的项目需要, 设计出数据库的构造 (表, 表的字段, 表间关系), 之后只有按 一个按键 , 就能立即失去基于该数据库的所有 分层架构代码文件 . 也就是说, 咱们心愿能在不敲一行代码的状况下获取所有咱们想要的代码! 而这就是这 2 个软件能做到的事件, 也是咱们装置它们的目标.
好了, 角色曾经介绍完了, 接着看看它们是如何演绎这场精彩的上演的吧:
首先咱们须要创立一个测试数据库, 为了简略, 咱们在这个数据库中只创立一个 Student 表 和一个Major 表. 其表构造和关系如下所示.
看看怎么用 PowerDesigner 疾速的创立出这个数据库吧.
1. 当初开始应用 PowerDesigner 创立数据库, 首先运行程序, 进入主界面:
2.File—New Model—Physical Data Model—Physical Diagram—Model name 设置为 test,DBMS 属性设置为 Microsoft SQL Server 2005:
3. 首先用表格工具创立一个表格模板:
4. 双击表格模板, 设置属性, 咱们首先设置 Major 表:
5. 设置好表名, 点击 Columns 标签, 设置字段属性, 设置如图所示:
6. 因为 MajorID 字段咱们要设置为 主动增长, 所以要设置它的高级属性, 抉择 MajorID 字段, 点击属性按钮, 在 General 面板中勾选上 Identity 复选框:
7. 确定后咱们再创立一个 Student 表, 字段设置如图所示:
8. 接着是为 Student 创立一个 MajorID 外键, 应用 PowerDesigner 能够很轻松的实现这个工作, 抉择关系设置工具, 在 Student 表上按住左键不放, 拖拽至 Major 表, 便可为 Student 表增加一个 MajorID 的外键:
9. 哈哈, 当初测试表曾经设置好了, 接着设置一下咱们要生成的数据库吧, 这些表都将被创立到该数据库中, 咱们在设计面板空白处 右键—Properties, 在弹出的属性设置对话框设置如下:
10 好了, 在此咱们对新数据库的设置曾经实现, 然而在 SQL 中还是空洞无物啊, 咱们要怎么把这边设计好的构造移植到 SQLServer 2005 中呢? 执行操作:Database—Generate Database, 设置好存储过程导出目录和文件名, 点击确定即可:
11. 到你的导出目录, 就能够看见导出的数据库创立存储过程了, 关上 SQL, 执行一下, 你就会看到数据库被神奇的创立好了:
12. 好了, 数据库的筹备工作做好了, 下一篇咱们就将应用该数据库联合 CodeSmith 主动批量生成代码啦~
上述实际中生成的源代码:/*==============================================================*//* Database name: PD_test *//* DBMS name: Microsoft SQL Server 2005 *//* Created on: 2010/6/13 星期日 17:27:17 *//*==============================================================*/dropdatabase PD_testgo/*==============================================================*//* Database: PD_test *//*==============================================================*/createdatabase PD_testgouse PD_testgo/*==============================================================*//* Table: Major *//*==============================================================*/createtable Major (MajorID intidentity, Name nvarchar(20) notnull, Remark nvarchar(Max) null, constraint PK_MAJOR primarykey (MajorID))go/*==============================================================*//* Table: Student *//*==============================================================*/createtable Student (StudentID nvarchar(20) notnull, MajorID intnull, Name nvarchar(20) notnull, Sex bitnotnull, Age intnull, Remark nvarchar(Max) null, constraint PK_STUDENT primarykey (StudentID))goaltertable Student addconstraint FK_STUDENT_REFERENCE_MAJOR foreignkey (MajorID) references Major (MajorID)go
桑田月明珠有泪,蓝田日暖玉生烟。