当前位置:首页 > 黑客教程 > 正文内容

代码生成器源码(开源代码生成器)

hacker2年前 (2022-07-03)黑客教程77

本文目录一览:

怎么让代码生成器生成的代码自动对齐

工具/原料

动软代码生成器2.78

SQL Server 2005/2008

Visual Studio 2008/2010或更高版本

方法/步骤

1

下载

1. 系统要求:Microsoft Windows2000/XP/2003/7 或者更高。机器必须安装.NET Framework v2.0。

2. 官方下载地址:

3. 下载解压后安装包有如下文件,如图:

Codematic2.msi 是动软.NET代码生成器的安装文件。

Builder文件夹是代码生成插件的源码,动软.NET代码生成器支持可扩展的代码生成插件,用户可以定制自己的代码生成的插件,根据接口开发自己的代码生成方式,按自己的需求进行代码生成。

Codematic_Data.MDF和Codematic_Log.LDF是通过动软新建项目中所带管理模块所需要的数据库文件。后台管理员默认登录用户名:admin 密码:1

2

安装

1.双击Codematic2.msi 进行直接安装即可。安装动软时,如果用户机器360弹出警告,那仅仅是个签名认证提示,并非木马,选择“继续安装”,然后点击“确定”即可。

2.安装成功后,在开始-菜单和桌面上会有动软.NET代码生成器的图标。

3

在软件界面的左侧数据库视图窗口,选择【服务器】,右键出现菜单或 点击第1个按钮如图红框内

4

选择【添加服务器】,然后,出现“选择数据库类型”窗口

5

根据自己的实际情况,选择一个机器上有的或自己项目中在用的数据库类型。并确保你选择的数据库是可以正常访问的。然后,【下一步】。

如果选择的是SQL Server,则会出现如图所示界面:

注意事项:

(1) 输入服务器IP地址,如果是本机也可以是:(local) 或是. 或者 127.0.0.1。 如果服务器并非只有一个默认实例,请采用:服务器\实例名的方式连接。(2)一定要选择和实际数据库服务器版本一致的选项,否则会导致连接数据库错误。注意:请使用SQLServer的企业版或正式版本,不能是SQL EXPRESS版,否则无法连接。(3)身份验证可以选择是SQLServer认证,还是Windows认证。

(4)输入数据库服务器用户名密码。如果不知道,请联系你的数据库管理员。(5)如果数据库的表比较多,连接速度会比较慢,启用【高效连接模式】实现快速连接。(6)可以通过【连接/测试】,来连接服务器并获取数据库列表,从而可以实现只选择连接一个库进行操作,减少不必要的连接时间,提高工作效率。

6

如果选择的是Oracle,出现如图所示界面;

输入您自己安装过的Oracle的管理员用户名和密码,服务就是安装的Oracle服务名,一般默认是Oracle所在的机器名,如果不确定,请联系您的数据库管理员。

7

如果选择的是MySQL,出现如图所示界面

8

如果选择的是Oledb出现如图所示界面;

在地址文本框,可以直接输入Access库的文件地址,注意:库文件尽量不要放在桌面,并且确保你的文件地址正确。如果你的Access并没有设置密码,下面的密码可以不用管。

9

如果选择的是SQLite,出现如图所示界面

10

在以上步骤确定后,动软.NET代码生成器的数据库视图就出现了数据库服务器的信息。如图所示

11

在数据库上右键,【浏览数据库】,通过选择库和表可以查看表和字段的信息。

12

选择【新建查询】菜单,即出现SQL的查询分析器窗口,可以输入SQL语句进行查询。

13

在表上,右键选择【浏览表数据】,可以查看表的数据内容。

14

新建整个项目

在看过了基本的数据库管理功能之外,下面我们就可以开始生成代码了。

首先,一般第一次生成,我们要生成的是整个项目框架。

选中数据库,然后右键:【新建NET项目】,或者直接点工具栏上的快捷图标均可。

15

然后,选择项目类型和版本:如图所示;

l 简单三层结构:生成标准的三层架构项目。

l 工厂模式结构:生成基于工厂模式的项目架构,适合一个项目多数据库类型的情况。

l 简单三层结构(管理):生成标准的三层架构项目,并且带有基本的系统管理功能和界面,这些通用的功能主要是节省开发人员的时间,可以在此基础上直接去开发自身业务模块。

这里暂以“简单三层结构(管理)”为例进行说明。

16

点击【下一步】,选择要生成的表和配置:如图所示;

双击选择要生成的表,选到右侧列表框。然后点击【开始生成】即可。

如果需要修改一些配置可以修改你自己的命名空间名字,是否去掉表的前缀。

代码模板组件类型,一般初学者建议默认即可。

相关组件说明:

BuilderDALParam 数据访问层(DAL)基于Parameter方式的代码生成组件(推荐)

BuilderDALProc 数据访问层(DAL)基于存储过程方式的代码生成组件

BuilderDALSQL 数据访问层(DAL)基于SQL拼接方式的代码生成组件

BuilderDALTranParam 数据访问层(DAL)带有事务的代码生成组件

DAL由于不同项目要求不同,根据项目需求,选择其中一种方式即可。

BuilderBLLComm 基于标准的业务逻辑层代码(BLL)

BuilderModel Model层的代码生成组件

BuilderWeb 表示层的代码生成组件

备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。

17

点击【开始生成】,则开始进行代码的生成,直到出现“项目工程生成成功”提示,项目生成完毕,如图所示;

18

打开生成的文件夹,如图所示;

19

双击解决方案文件,打开整个项目如图所示;

注:“简单三层结构”目前暂时是VS2005版本,是为了兼容当前还在用2005的朋友。如果你使用的是VS2008,生成项目后,请先打开VS2008,选择【菜单-文件-打开项目】的方式打开该项目,此时会提示升级项目版本,选择升级一下项目版本到VS2008或VS2010即可,对代码没有任何影响。

20

打开Web项目,选中刚才选择生成的那几个表的页面文件夹,右键【包括在项目中】,如图所示;

21

打开web项目下web.config修改数据库连接字符串,如图所示;

注意:新建项目后,请记得先将安装包里附带的数据库文件Codematic_Data.MDF 附加到SQLServer中。

如果需要加密,可以使用安装包里的加解密工具(官方下载该工具)。

然后,选择解决方案进行重新生成整个解决方案。整个创建项目过程即全部完成。如图所示;

如果编译没有错误, 直接按F5键运行即可。整个创建项目过程即全部完成。

运行启动登录页面login.aspx,输入用户名:admin,密码:1

即登录动软系统框架的后台,界面如下

批量代码生成

新建项目功能只适合于第一次,因为不可能每次都新建项目,特别是项目已经在开发中。所以,以后的项目开发中更多的应用的是【批量代码生成】功能。批量代码生成特别适合项目后期追加代码时使用。

选中数据库或者表,然后单击右键菜单【代码批量生成】,如图所示;

出现的窗口和新建项目基本相似,只是多了一个选中架构的选项。如图所示;

备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。

选则要生成的表,然后点击【导出】

在生成的文件夹中,我们可以看到:如图所示

批量生成代码只生成业务表的代码,不再有解决方案文件和项目文件,以及其它类库等。我们可以将生成的这些文件直接拖到现有的解决方案中即可。

单表代码生成

除了新建项目和批量代码生成,偶尔我们希望更个性化自定义一些代码生成的字段,而不是全部的自动生成,这是我们可以考虑针对单表的代码生成。

在左侧【数据库视图】,选中表,右键菜单【单表代码生成器】,如图所示

然后,出现单表的代码生成器界面,我们设置自己需要更改的信息。如图所示;

选项说明:

Ø 项目名称:主要用在生成DB脚本中。

Ø 二级命名空间:指的是这个类放在某一个二级文件夹下,从而命名空间中应该带这个文件夹的名字。

Ø 顶级命名空间:就是项目的命名空间名称。

Ø 类名:可以自己根据表名定义自己需要的名字。

Ø 类型:主要是生成什么代码,DB脚本主要生成表的存储过程和表的创建脚本及数据脚本。

Ø 架构选择:目前仅支持这3种最常用的架构。

Ø 代码类型:指生成指定架构中具体某一个项目中的代码。

Ø 代码模板组件类型:指生成代码的方式,因为即使同一个代码有很多的写法,组件主要实现的是不同的写法,但每种写法实现的功能都是一样的。主要看项目需要和个人习惯进行选择。

Ø 方法选择:指生成最基本的增删改查的方法代码,后续版本将支持用户自定义这些方法。

备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。

然后,点击【生成代码】按钮,即可生成该类的代码,如图所示;

生成的代码,可以直接复制到项目文件中,也可以右键保存成CS文件。

通过窗体下面的Tab按钮可以来回切换设计视图和代码。

代码生成规则设置

打开菜单【工具】-【选项】-【代码生成设置】

这些配置保存后,在生成代码的时候将按照这个规则进行生成。

代码生成的规则设置范围还在不断增加中。

另外,不同数据库类型的数据类型各有不同,这里提供了字段类型和C#中的类型建立映射关系,生成代码时将按映射关系来生成代码字段属性的类型。

java代码生成器怎么用

zip包,然后自动下载下来

1.预先定义好模板

2.界面输入相关参数

3.解析模板生成代码并下载

最后放出源代码:

package com.et.controller.system.createcode;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.et.controller.base.BaseController;

import com.et.util.DelAllFile;

import com.et.util.FileDownload;

import com.et.util.FileZip;

import com.et.util.Freemarker;

import com.et.util.PageData;

import com.et.util.PathUtil;

/**

* 类名称:FreemarkerController

* 创建人:Harries

* 创建时间:2015年1月12日

* @version

*/

@Controller

@RequestMapping(value=”/createCode”)

public class CreateCodeController extends BaseController {

/**

* 生成代码

*/

@RequestMapping(value=”/proCode”)

public void proCode(HttpServletResponse response) throws Exception{

PageData pd = new PageData();

pd = this.getPageData();

/* ============================================================================================= */

String packageName = pd.getString(“packageName”); //包名 ========1

String objectName = pd.getString(“objectName”); //类名 ========2

String tabletop = pd.getString(“tabletop”); //表前缀 ========3

tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前缀转大写

String zindext = pd.getString(“zindex”); //属性总数

int zindex = 0;

if(null != zindext !””.equals(zindext)){

zindex = Integer.parseInt(zindext);

}

ListString[] fieldList = new ArrayListString[](); //属性集合 ========4

for(int i=0; i zindex; i++){

fieldList.add(pd.getString(“field”+i).split(“,fh,”)); //属性放到集合里面

}

MapString,Object root = new HashMapString,Object(); //创建数据模型

root.put(“fieldList”, fieldList);

root.put(“packageName”, packageName); //包名

root.put(“objectName”, objectName); //类名

root.put(“objectNameLower”, objectName.toLowerCase()); //类名(全小写)

root.put(“objectNameUpper”, objectName.toUpperCase()); //类名(全大写)

root.put(“tabletop”, tabletop); //表前缀

root.put(“nowDate”, new Date()); //当前日期

DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代码前,先清空之前生成的代码

/* ============================================================================================= */

String filePath = “admin/ftl/code/”; //存放路径

String ftlPath = “createCode”; //ftl路径

/*生成controller*/

Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);

/*生成service*/

Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);

/*生成mybatis xml*/

Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);

Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);

/*生成SQL脚本*/

Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

/*生成jsp页面*/

Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);

Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);

/*生成说明文档*/

Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);

//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印

/*生成的全部代码压缩成zip文件*/

FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);

/*下载代码*/

FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);

}

}

谁有java代码生成器源码,发给我,谢谢

myeclipse里面不是集成了hibernate嘛!直接用啊!软换成实体类的生成器?JAVA 目前好像没有哎。。。反正我是没发现!

扫描二维码推送至手机访问。

版权声明:本文由黑客平台在线接单_免费黑客平台的网站发布,如需转载请注明出处。

本文链接:http://heikexuexi.com/41631.html

分享给朋友:

“代码生成器源码(开源代码生成器)” 的相关文章

宿舍管理员工作总结

宿舍管理员工作总结

教熟宿舍治理 是下校教熟治理 事情 外一项极其主要 的内容,教熟宿舍治理 程度 的高下 反映了一个黉舍 的教熟事情 的现实 程度 ,它会间接影响到黉舍 方方面面。而宿管须要 治理 的事务也异常 复杂 ,衣食住止等圆里皆要统筹 到。比来 也有同伙 答尔宿舍治理 职工做总结怎么写,这么昨天给年夜 野整顿...

自我鉴定300字本科

自我鉴定300字本科

                                                                                               自我判断 是一个小我 在一个时期 ,一年一个阶段,对于自己 的进一步学习 战争 ,职业 和其他圆自我总结。如何...

 生产经营单位应急预案分为

生产经营单位应急预案分为

                                                                                               年夜 野知道,对于 临盆 运营单位 ,他们应该把自己 单位 的应慢计划分为哪些类别?给除夕带来的是不关于临盆...

五一作文600字初中范文

五一作文600字初中范文

                                                                                               我们都知道五月是国际逃逸节。逃跑的人必须 休息 。他们能选择在野外休息 还是不玩 ?对于 教熟来说,五一假期让...

研究生简历自我评价

研究生简历自我评价

                                                                                               ?2020年研究 熟悉简历自评范文。作为一个研究 熟悉的人,你知道如何 在简历上写自我评价吗?昨天,尔整顿 讨...

上党课心得体会

上党课心得体会

                                                                                               党课教育的进一步学习 是指教师可以加倍 清晰 天熟悉 到党的气质 可以 更糟糕的天为党工作 ,为群众工作 ,昨...

评论列表

寻妄寻倌
2年前 (2022-07-03)

选中表,右键菜单【单表代码生成器】,如图所示然后,出现单表的代码生成器界面,我们设置自己需要更改的信息。如图所示;选项说明:Ø 项目名称:主要用在生成DB脚本中。Ø 二级命名空间:指的是这个类放在某一个二级文件夹下,

辙弃寺瞳
2年前 (2022-07-03)

库】,通过选择库和表可以查看表和字段的信息。12选择【新建查询】菜单,即出现SQL的查询分析器窗口,可以输入SQL语句进行查询。13在表上,右键选择【浏览表数据】,可以查看表的数据内容。14新建整个项目

闹旅隐诗
2年前 (2022-07-04)

器?JAVA 目前好像没有哎。。。反正我是没发现!

南殷俛就
2年前 (2022-07-03)

暂以“简单三层结构(管理)”为例进行说明。16点击【下一步】,选择要生成的表和配置:如图所示;双击选择要生成的表,选到右侧列表框。然后点击【开始生成】即可。如果需要修改一些配置可以修改你自己的命名空间名字,是否去掉表的前缀

余安辞慾
2年前 (2022-07-03)

ate.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);/*生成jsp页面*/Freemark

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。