博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

我的代码生成器(MyGenerator),13个月后再次发布

Posted on 2012-01-05 09:52  gczhao  阅读(711)  评论(0编辑  收藏  举报

本文转自:http://www.cnblogs.com/flashbar/archive/2012/01/04/MyGenerator.html

 

当前版本 V3.4  

  距离上次发布已经相隔13个月了,在此特别感谢许多朋友的建议和鼓励,历经了多个版本的更迭后,才有了现在这个功能更多,更加实用的东西。虽然依旧没什么技术含量,不过毕竟是自己花了很多时间的,还是自荐一下吧。

  个人感觉目前的实用性还可以,至少在我们Team内用的还是不错。同时说一下,之所以不用广为流传的其它代码生成器,比如Code Smith、动网生成器,主要是如下原因:

  1:这些代码生成器的代码生成过程不够简捷;
  2:我们公司项目都是使用存储过程;
  3:如果我改了一个表的结构,那么基本就要重新生成一遍代码;
  4:这些软件的体积都不小,换台机器就要安装一遍,个人还是比较喜欢不写注册表的绿色软件。

  所以我就自己写了一个方便自己使用的代码生成器,同时也当是练练手。

  下面略过开发流程,简单介绍一下本软件的一些情况。

一:使用环境和适用范围

  本软件主要是用来做.Net开发代码生成的,适用环境为VS2008+  .Net framework4.0 Client Profile  SQL2008+  C#; 适用于使用传统三层架构,使用存储过程,并且对性能没有严格控制的中小型项目。

二:简单介绍

  本软件提供了一整套数据库操作的框架。Web层、BLL层、DAL层以及Utility和Model层代码都可以自动生成。当然最简单的是直接生成解决方案,然后你就可以直接针对某个表进行增删改查了。各个层的代码和传统的写法略有差异,主要体现在DAL层数据库操作和SQL Server存储过程的写法上。其它层基本符合OO,代码结构简单,有较强的可读性。主要特点如下:

  1:数据库交互只用写一次,即使你不断的增加、修改方法,DAL层的代码都不需要修改;
  2:对于存储过程,不再需要繁琐的设置SQL参数;
  3:每个数据表只对应一个存储过程,结构清晰,易于维护;
  4:BLL支持事务过程,支持选择数据库操作时的智能提示;
  5:页面层的CS代码简单,便于维护和调试;

三:主要功能

  1:根据需要自动生成实体类、存储过程、WEB层前后端、BLL层的几个基本业务操作的代码。
  2:支持批量导出代码,生成相应的文件类型,方便直接加入项目;
  3:支持直接导出VS2010项目 (需要重新编译项目) ;
  4:支持模板的自定义和20种自定义参数,使用NVelocity规则;
  5: BLL层直接支持T-SQL事务,使用简单;
  6:绿色软件,体积小,便于携带;
  7:界面美观,有不错的用户体验;

四:使用方法和功能详细介绍

  1:软件登陆,初始化项目参数:这步按提示输入参数就可以了。需要注意的是,服务器参数可以在Config.xml 中手动设置,也可以直接输入



  2:软件主界面:目前提供了全部功能。后续版本会提供一些新加功能,比如自定义模板的管理。默认是显示软件支持的自定义参数列表,目前一共支持20种自定义参数。
如果你还需要什么参数,请告诉我,谢过。



  3:从左侧表列表中选择所需要的数据表后,点击生成,主窗口为生成代码,右下角窗口为当前选择表的增删改查T-SQL语句:



  4:生成C#实体类和基本数据库操作的动作表枚举:

  5:生成存储过程,每个表对应一个存储过程,和传统的每个方法对应一个存储过程不同,这样可以大大减少存储过程的数量,方便维护和移动:



  6:生成Web层前台代码:

 



  7:生成Web层后台代码:

 



  8:生成BLL层代码:

 



  9:生成自定义代码,可以在vm文件夹下增删扩展名为.vm的模板文件,句法请查看demo.vm文件:

 



  10:导出当前生成的代码,会根据当前选择生成默认文件夹,如自定义模块会全部生成在Custom文件夹下:

 



  11:根据当前数据库,生成整套解决方案。目前需要将五个项目手动加入解决方案的编译列表,再手动重新编译:

 



  12:软件帮助:



五:存在的问题

  1:可能是由于使用WPF的问题:首次启动较慢,视机器性能而定,一般会耗时10S左右
  2:肯定尚有很多未发现的问题,希望大家得到大家的帮助,我一定会努力完善。

六:更新历史

      V3.4.0.0

      增加:直接根据数据库生成解决方案

      增加:标签页支持双击关闭

      修改:界面布局调整,增强用户体验

      修改:大幅增强自定义代码功能,可以自定义模板生成复杂代码块

      修改:修复一个数据类型的映射问题

      修改:修复一个已知页面控件显示的错误

      V3.3.0.0

      增加:生成代码支持导出为相关文件

      修改:界面美化,增强用户体验

      修改:代码格式化,自动着色和折叠

      修改:修复一个会导致自动退出的Bug

      修改:部分优化自动生成的代码

      V3.2.0.0

      修改:BLL层代码根据Table自动生成,更加符合面向对象的原则

      修改:WEB前端方法调用更加简单

      修改:修复已知的几个代码生成错误的问题

      修改:Web后台代码调整,更加通用

      V3.1.0.0

      增加:代码生成时对非主键自增字段的处理逻辑

      增加:增加对中文字段和中文数据库名的支持

      修改:存储过程中用中括号括起字段名,避免冲突

      修改:存储过程中增加唯一性确定过程,后端代码在插入和更新的过程中加入唯一性判断的事务

      修改:说明性文字部分修改和修正

      V3.0.0.0

      增加:界面布局调整,更加符合用户体验

      增加:界面切换效果

      修改:取消BLL和DAL层的代码自动生成,改为通用类,无需根据数据表生成

      修改:大幅修改代码生成,支持使用多数据库操作的T-SQL事务,整个数据库访问流程更加灵活,支持数据库操作的智能提示

      修改:修复已知的几个代码生成错误的问题

      V2.1.0.0

      增加:全面支持SQL Server 2008 R2

      修改:修复两个已知会造成程序退出的Bug

      V2.0.0.0

      增加:BLL,DAL,WEB层的自动代码生成

      增加:“关于”和“帮助”页面

      修改:软件正式更名为 我的代码生成器(My Generator)

      修改:布局调整

      V1.8.0.0

      优化:一些用户体验的调整,切换功能自动生成对应代码,字段列表选择更加符合用户体验

      修改:修复一个生成的代码中,如果有DateTime类型,那么默认空值存入数据库可能会溢出的错误

      修改:增加某些字段类型的精度显示

      修改:登录窗口的服务器和数据库名支持手动输入

      修改:布局调整,增加反选按钮

      V1.7.0.0

      增加:DB Server的别名功能,可以为同一个DB Server 设置不同的登录账户;

      优化:改进默认本地网站,兼容SQL2005/SQL2008;

      修改:布局调整,可以最小化窗口;

      V1.6.0.0

      增加:增加多个可自动生成项;

      修改:所有可设置部分整合到一个Config.xml中;

      修改:布局调整;

      V1.5.0.0

      增加:支持自己导入数据库列表;

      优化:优化了代码,现在远程连接速度大幅度提高;

      修改:更新了SQL代码生成规则;

      修改:完善了C#实体类和存储过程的生成方案;

      修改:布局调整;

      V1.4.0.0

      增加:可以自动生成每个Table的基本SQL查询语句。

      V1.3.0.0

      优化:代码优化,调整界面和模板内容;

      修改:软件语言中文化;

      V1.2.0.0

      增加:增加了两个模板;

      优化:代码优化,修复一些Bug;

      V1.1.0.0

      优化:代码优化,加快远程连接的速度;

      修改:修复一些Bug,调整界面;

      V1.0.0.0

      增加:提供最基本的实体类生成;

 

  最新版本获取地址:

  http://www.cnblogs.com/flashbar/archive/2012/01/04/MyGenerator.html

  http://www.flashbar.com.cn

  http://duluohua22.s40.163sc.com/

  有任何问题都可以联系我

  QQ:12811951

  Email:duluohua#hotmail.com

  最后更新日期  2012/1/4 19:45

 

  如果觉得还可以,烦劳点下推荐,谢谢! 

  直接下载  MyGenerator