开源代码生成软件,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 模板的自动更新到本地和共享到线上功能未实现

界面预览

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

image

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

image

预览界面

image

 

数据结构

image

image

其中

  1. SolutionEntity  解决方案实体
  2. DataServerEntity 服务器实体
  3. DataBaseEntity 数据库实体
  4. DataTableEntity 表实体
  5. DataFieldEntity 字段实体
  6. ProjEntity 项目实体
  7. TemplateEntity 模板实体
  8. HelpEntity 帮助实体
  9. SolutionBLL 解决方案业务层
  10. DataServerBLL 服务器业务层
  11. DataBaseBLL 数据库业务层
  12. DataTableBLL 表业务层
  13. DataFieldBLL 字段业务层
  14. ProjBLL 项目业务层
  15. TemplateBLL 模板业务层
  16. HelpBLL 帮助业务层
  17. SolutionDAL 解决方案数据库层
  18. ProjDAL
  19. DataServerDAL
  20. DataBaseDAL
  21. DataTableDAL
  22. DataFidldDAL
  23. TemplateDAL
  24. HelpDAL

 

建库SQL(sqlite3)

 

ContractedBlock.gif ExpandedBlockStart.gif 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
);

 

 

操作时序图

新建 Microsoft Office Visio 绘图

项目结构

image 

其中

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

第三方插件一览

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

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

视频下载

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

软件下载

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

源码下载

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

作者语

当前版本:v1.8

运行库版本 .NET Framework 3.5

开发工具:Visual Studio 2008,Sqlite Administrator

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值