开发辅助

关注公众号 jb51net

关闭
MyGenerator我的代码生成器 V3.9

MyGenerator我的代码生成器 V3.9

热门排行

简介

距离上次发布已经相隔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:肯定尚有很多未发现的问题,希望大家得到大家的帮助,我一定会努力完善。

六:更新历史

  V 3.9.0.0

  增加:支持一键在SQL Server中生成存储过程

  增加:对不支持数据类型的错误提示,防止程序崩溃

  增加:创建存储过程时的唯一性判断

  增加:数据库列表和数据类型映射的管理

  修改:对于多表,只导出一个SQL SP的Script文件

  修改:Insert返回long而不是int

  修改:一个存储过程可能会生成乱码的问题

  修改:一些用于增强用户体验的布局调整

  V 3.8.0.0

  增加:支持根据数据库直接导出一份比较漂亮的HTML文档

  增加:基本方法SelectAll

  修改:生成的存储过程不再独立到单个文件,现在只使用一个文件,方便数据库操作

  修改:Guid为主键时,生成的解决方案有些方法无法、正常实现

  修改:点击返回按钮后无法、正常生成解决方案

  修改:其它几个已知Bug

  V 3.7.0.0

增加:数据读取支持分页控制

增加:服务器列表管理按钮

增加:统一出错信息的提示窗口,信息提示更加友好

修改:代码重构,优化

修改:已知Bug修复   

修改:直接可以重新编译解决方案,不需要手动把项目加入编译列表

V3.6.0.0

增加:管理自定义模板,模板编辑支持智能提示和快捷键操作

修改:更新部分窗口美化,增加出错提示和版本提示

修改:几个特殊数据类型会导致存储过程无法执行

修改:点击重置会重新加载数据表列表和字段列表

修改:代码重构,提高代码执行效率

修改:修复已知特殊字符会使得解决方案产生错误,从而不能顺利编译的问题

修改:已知的其它几个代码生成的问题(DateTime类型转换,GUID作为主键,NText类型使用like等

修改:部分代码生成的修改,生成的代码更加健壮

V3.5.0.0

增加:自定义参数类型

增加:提示新版本和自动更新

修改:修复数据库名或者表名有特殊字符时生成的解决方案会编译不通过

修改:修复(MAX)数据类型默认长度的问题

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

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

大家还下载了