好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

开源代码生成软件,Tstring.Core.Builder,简单三层,基于NVelocity模板,S

开源代码生成软件,Tstring.Core.Builder,简单三层,基于NVelocity模板,Sqlite数据库

已经实现功能

最后更新:2009-3-23 9:23

支持SQL SERVER数据库

支持基于模板 NVelocity 的代码生成功能

基本所有实体都支持别名功能

新增远程数据库信息与本地库信息的更新功能

自带了一个简单三层模板和一个简单的数据库信息

项目使用了分部类,相关信息请参见 http://www.cnblogs.com/kkun/archive/2009/02/05/1384870.html

未实现功能

本地数据与服务器上的信息的同步更新功能未实现

NVelocity 模板的自动更新到本地和共享到线上功能未实现

界面预览

第一次打开时,需要首先导入数据库数据,为以后生成代码准备原始数据,为什么不直接使用读取到的数据库的信息呢?因为我没那么设计

删除数据库的时候,因为要删除其下的所有表及所有表下的所有字段,速度有些慢

预览界面

 

数据结构

其中

SolutionEntity  解决方案实体 DataServerEntity 服务器实体 DataBaseEntity 数据库实体 DataTableEntity 表实体 DataFieldEntity 字段实体 ProjEntity 项目实体 TemplateEntity 模板实体 HelpEntity 帮助实体 SolutionBLL 解决方案业务层 DataServerBLL 服务器业务层 DataBaseBLL 数据库业务层 DataTableBLL 表业务层 DataFieldBLL 字段业务层 ProjBLL 项目业务层 TemplateBLL 模板业务层 HelpBLL 帮助业务层 SolutionDAL 解决方案数据库层 ProjDAL DataServerDAL DataBaseDAL DataTableDAL DataFidldDAL TemplateDAL HelpDAL

建库SQL(sqlite3)

Code
CREATE   TABLE   [ DataBaseEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY  AUTOINCREMENT  NOT   NULL ,
[ ServerID ]   INTEGER    NULL ,
[ Name ]   NVARCHAR ( 50 )   NULL ,
[ Nickname ]   NVARCHAR ( 50 )   NULL ,
[ IsIncluded ]  BOOLEAN  DEFAULT   ' 1 '   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NULL
);

CREATE   TABLE   [ DataFieldEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY   NOT   NULL ,
[ DBID ]   INTEGER    NOT   NULL ,
[ TBID ]   INTEGER    NOT   NULL ,
[ Name ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Nickname ]   NVARCHAR ( 50 )   NOT   NULL ,
[ IsIncluded ]  BOOLEAN   NOT   NULL ,
[ FieldIndex ]   INTEGER    NOT   NULL ,
[ FieldType ]   NVARCHAR ( 50 )   NOT   NULL ,
[ FieldLen ]   INTEGER    NOT   NULL ,
[ FieldRemark ]   NVARCHAR ( 50 )   NULL ,
[ FieldColumnDef ]   NVARCHAR ( 50 )   NULL ,
[ FieldNullable ]  BOOLEAN   NOT   NULL ,
[ IsPrimaryKey ]  BOOLEAN   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NULL
);

CREATE   TABLE   [ DataServerEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY   NOT   NULL ,
[ SlnID ]   INTEGER   DEFAULT   ' 0 '   NULL ,
[ Name ]   NVARCHAR ( 50 )   NOT   NULL ,
[ UserName ]   NVARCHAR ( 50 )   NOT   NULL ,
[ UserPass ]   NVARCHAR ( 50 )   NOT   NULL ,
[ ServerName ]   NVARCHAR ( 50 )   NOT   NULL ,
[ IsIncluded ]  BOOLEAN  DEFAULT   ' 1 '   NOT   NULL ,
[ IsFirstConnection ]  BOOLEAN  DEFAULT   ' 0 '   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NULL
);

CREATE   TABLE   [ DataTableEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY   NOT   NULL ,
[ DBID ]   INTEGER    NOT   NULL ,
[ Name ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Nickname ]   NVARCHAR ( 50 )   NOT   NULL ,
[ IsIncluded ]  BOOLEAN   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NULL
);

CREATE   TABLE   [ HelpEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY  AUTOINCREMENT  NOT   NULL ,
[ Name ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Nickname ]   NVARCHAR ( 50 )   NOT   NULL ,
[ IsIncluded ]  BOOLEAN  DEFAULT   ' 0 '   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Text ]   TEXT   DEFAULT   ''' 帮助 '''   NOT   NULL
);

CREATE   TABLE   [ ProjEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY  AUTOINCREMENT  NOT   NULL ,
[ SlnID ]   INTEGER    NOT   NULL ,
[ Name ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Nickname ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Path ]   NVARCHAR ( 200 )   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NOT   NULL ,
[ IsIncluded ]  BOOLEAN  DEFAULT   ''' 1 '''   NOT   NULL
);

CREATE   TABLE   [ SolutionEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY  AUTOINCREMENT  NOT   NULL ,
[ Name ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Nickname ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NOT   NULL ,
[ IsIncluded ]  BOOLEAN  DEFAULT   ''' 1 '''   NOT   NULL
);

CREATE   TABLE   [ TemplateEntity ]  (
[ ID ]   INTEGER    PRIMARY   KEY   NOT   NULL ,
[ ProjID ]   INTEGER   DEFAULT   ' -1 '   NOT   NULL ,
[ Name ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Nickname ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Text ]   NVARCHAR ( 50 )   NOT   NULL ,
[ FilePath ]   NVARCHAR ( 50 )   NOT   NULL ,
[ IsIncluded ]  BOOLEAN   NOT   NULL ,
[ IsCreateOnce ]  BOOLEAN   NOT   NULL ,
[ Extension ]   NVARCHAR ( 50 )   NOT   NULL ,
[ Guid ]   NVARCHAR ( 50 )   NULL
);

操作时序图

项目结构

 

其中

Tstring.Core.Attribute 类特性项目,不参与代码生成业务 Tstring.Core.BLL 这个好说,业务逻辑类 Tstirng.Core.Builder 主项目,相关窗口啥的 Tstring.Core.DAL 数据库服务层 Tstring.Core.Editor 可以忽略此项目,本意为设计attribute的编辑窗口,后不了了之 Tstring.Core.Entity 实体定义项目 Tstring.Core.Interface 接口定义 Tstring.Core.Util 公用项目

第三方插件一览

相关信息都可以在网上搜索得到,不多作介绍,
所有需要引用的DLL都在Tstring.Core.Builder/Inc目录下,请自行修改引用

ICSharpCode.TextEditor 代码高亮插件 MagicLibrary 窗口停靠控件 NVelocity 模板生成插件 WeifenLuo.WinFormsUI.Docking 另一个窗口停靠插件,嫌它收缩窗口时的速度太慢,仅使用了它的TAB部分 System.Data.SQLite   SQLITE数据库的插件

视频下载

https://files.cnblogs.com/kkun/tstring.core.builder_Screen_Stream.rar

软件下载

http://www.skycn.com/soft/53263.html

源码下载

https://files.cnblogs.com/kkun/Tstring.Core.Builder_Source.rar

作者语

开发工具:Visual Studio 2008,Sqlite Administrator

开源协议 GNU LESSER GENERAL PUBLIC LICENSE  Version 2.1, February 1999

真诚期待每一个建议,意见及讨论 ,请您发邮件到 hebkkun@163.com , kkun

?http://www.cnblogs.com/TerryLiang/archive/2009/03/21/1418157.html

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于开源代码生成软件,Tstring.Core.Builder,简单三层,基于NVelocity模板,S的详细内容...

  阅读:36次