1 Star 0 Fork 72

wangscript1 / CodeBuilder

forked from 青侠oO / CodeBuilder 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

CodeBuilder

CodeBuilder(English) 是一款简单易用且轻量级的基于数据库物理模型的代码(C#/java/ruby/php/xml等)生成工具.

Contents

特点

a.支持从PowderDesigner12+文件(PDM)/ SQLserver2000/2005/2008/Oralce/Mysql5 中导入数据库表结构
b.利用velocity模板引擎生成代码

用户指南

系统要求

a.windows7 或 更高
b.net framework4.0 或 更高(Optional)

快速入门

  1. 安装
    你可以从这里下载二进制可执行文件包然后解压即可
  2. 配置数据源
    双击CodeBuilder目录下codebuilder.exe文件运行应用程序, 然后在菜单栏中选择(工具->数据源配置),新增你需要的数据源,然后"确定"
    qs-img1
  3. 导入数据源中表与视图 在菜单栏中选择(文件->从数据源导出->选择指定数据库)然后等待几秒中将列出当前数据库中所有的表及视图
    qs-img2
  4. 生成代码
    a.选择全部或指定几个表及视图
    b.选择要生成代码的程序语言(如c#/java/ruby/php/xml等)
    c.设置代码的根命名空间(如:com.easytoolsoft.codebuilder)
    d.设置表名前缀、代码作者、版本(这三个是可选设置)
    e.选择一个或多个代码模板,自定义模板请参考制作代码模板
    f.如果你想在生成代码时去掉表或视图名称前辍(你先必须在步聚d中设置好前辍名称)或想生成后的代码命名方式为驼峰式(Camel-Case)(如表名:easy_tools_soft 将变成 EasyToolsSoft), 这时你应该选中"是否忽略表前辍" 或 "是否使用驼峰式命名"
    qs-img3
    g.点击 "生成" 按钮执行代码生成,然后点击生成的文件可以进入的生成代码的目录
    qs-img4

制作代码模板

1.使用velocity语言创建代码模板文件
创建一个UTF-8编码格式的文本文件(如:example.txt),从TDO对象中读取模板中需要使用的内容
qs-img5
2.模板数据对象(TDO)
a.TDO属性

名称 类型 说明
Name string 模板数据名称
Language string 程序设计语言名称 (如:csharp/java/ruby/php/xml etc.)
Database string 数据库名称 (如:mysql5/sqlserver2000/2005/2008/oralce etc.)
Package string 命名空间或包名 (如:com.easytoolsoft)
TablePrefix string 表名前辍(如:cb_table表的前辍为"cb")
Author string 代码作者
Version string 代码版本
TemplateEngine string 模板引擎名称,默认为"nvelocity"
TemplateName string 模板显示名称(如:example.java.nv 模板文件的显示名为"example")
Prefix string 模板前辍
Suffix string 模板后辍
Encoding string 生成的代码文件字符集编码(如:utf8/utf7/ascii etc.)
TemplateFileName string 模板对应的文件名(如:example.java.nv)
CodeFileName string 生成的代码文件名(如:Example.java)
IsOmitTablePrefix bool 生成代码时是否忽略表前辍(如:cb_table表生成代码时将去掉"cb")
IsCamelCaseName bool 是否驼峰化(Camel-Case)命名(如:cb_table -> CbTable)
ModelObject object 模型对象,对应一个数据库的表或视图.相关属性请参考:b.ModelObject属性

b.ModelObject属性

名称 类型 说明
Id string 对应数据库中的表或视图表(如:cb_table)
DisplayName string 显示名,默认为属性"Name"的值
Name string 表或视图首字母大写驼峰式(Camel-Case)名.(如:cb_table -> CbTable)
OriginalName string 表或视图在数据库中的名称(如:cb_table)
Comment string 表或视图在数据库中的注释
MetaTypeName string 当前ModelObject元数据类型名:table
Columns Dictionary[string,Column] 表或视图中所有列集合,相关属性请参考:c.Column Proprities
PrimaryKeys Dictionary[string,Column] 表中所有主键列集合
Keys Dictionary[string,Column] 表中所有非主键列集合

c.Column属性

名称 类型 说明
Id string 对应数据库中表或视图的列名 (如:first_name)
DisplayName string 列显示名,默认为属性"Name"的值
Name string 列名,首字母大写驼峰式(Camel-Case)名(如:first_name -> FirstName)
LowerCamelName string 列名,首字母小写驼峰式(Camel-Case)名(如:first_name -> firstName)
OriginalName string 原始列名 (如:first_name)
Comment string 列说明
DataType string 列在数据库中的数据类型(如: mysql int/bigint/varchar etc.)
DefaultValue string 列在数据库中的默认值
LanguageType string 列在对应的程序设计语言(如:c#/java/ruby etc.)中的数据类型(如: C# int/long/string etc.)
LanguageDefaultValue string 列在对应的程序设计语言(如:c#/java/ruby etc.)中的默认值
Length int 列在数据库中数据类型对应的长度
Ordinal int 列在数据库中表或视图的顺序
IsAutoIncremented bool 列是否为自增列
IsNullable bool 列是否可为空
IsComputed bool 列是否为计算列
HasDefault bool 列是否有默认值
MetaTypeName string 元数据类型名,值为"column"

3.添加模板 把创建好的代码模板文件加入到CodeBuilder的模板列表中 qs-img6

配置

数据源管理

模板管理

程序语言管理

数据类型映射

其他

开发者

开发及运行环境

a.VS2010+ or sharpdevelop4.1+
b.ms.net4.0+ or mono.net2.10+
c.nunit2.5 or later
d.moq3 or later
e.velocity

架构图

architecture

常见问题

Copyright (c) 2011 Tom Deng Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一款简单易用且轻量级的基于数据库物理模型的代码生成工具 展开 收起
C#
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/kingsmart/CodeBuilder.git
git@gitee.com:kingsmart/CodeBuilder.git
kingsmart
CodeBuilder
CodeBuilder
master

搜索帮助

14c37bed 8189591 565d56ea 8189591