CodeSmith 简介
编辑教程CodeSmith 简介
CodeSmith 是一种基于模板的代码生成工具
它使用类似于 ASP.NET的语法来生成任意类型的代码或文本。
与其他许多代码生成工具不同,CodeSmith 不要求您订阅特定的应用程序设计或体系结构。
使用 CodeSmith,可以生成包括简单的强类型集合和完整应用程序在内的任何东西。当您生成应用程序时,您经常需要重复完成某些特定的任务,例如编写数据访问代码或者生成自定义集合。CodeSmith 在这些时候特别有用,因为您可以编写模板自动完成这些任务,从而不仅提高您的工作效率,而且能够自动完成那些最为乏味的任务。CodeSmith 附带了许多模板,包括对应于所有 .NET 集合类型的模板以及用于生成存储过程的模板,但该工具的真正威力在于能够创建自定义模板。
CodeSmith 可以从网站 http://www.codesmithtools.com/ 下载,个人开发版费用在300美元左右,个人认为还是物有所值。
使用 CodeSmith 提供的模板,可以几乎不用手工编写一行代码,就可以自动生成上述数据库相关的代码。
本例使用 Visual Studio 2010 ,Codesmith 安装时提供了 Visual Studio 插件支持。使用的示例数据库也是 Sales,可以参见 Hibernate 开发教程(2):准备开始。
由于使用 MySQL 数据库,需要下载 MySQL .Net 库。使用 SQL Server 可以直接使用。
创建一个命令行应用 solution。 | |
---|---|
使用 CodeSmith 的 Schema Explorer 添加一个 MySQL 数据源 |
这里的 Connection String 为: SERVER=localhost;DATABASE=sales;UID=username;PASSWORD=password;(根据你自己服务器自行修改参数)
添加成功后,在 Schema Explorer 中会显示所连接的数据库的表定义等
在这个 solution 中添加一个 Sales.Data Class Library.然后在项目中添加一个 CodeSmith 项目 Item
点击 Sales.csp 使用鼠标右键 Context Menu
使用有 Add Output 可以在项目中添加生成代码的模板,这里选用 CodeSmith 自带的 PLINQO-NH\CSharp 下的三个模板,
模板路径为..\Users\…\Documents\CodeSmith Generator\Samples\v6.5\Templates\Frameworks\PLINQO-NH\CSharp\
分别添加三个模板,SourceDatabase 选择 Schema Explorer 中添加的 Sales 数据库,其它属性使用缺省值。
三个模板分别为
Hbms 生成 hbm.xml 映射文件 | |
---|---|
Entities 生成和数据库表对应的.Net类定义 | |
Queries 生成查询数据对应的类 |
然后通过 Sales.csp 的 Generate code 生成代码。
可以看到 CodeSmith 自动生成了很多代码,并添加了所需的引用。
此时用来访问数据的类全部由 CodeSmith 生成,无需自己写一行代码。
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间