自动生成代码java程序 java代码生成器原理

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”);

}

}

怎样利用 eclipse mybatis generator 自动生成代码

MyBatis中,可以使用Generator自动生成代码,包括DAO层、 MODEL层 、MAPPING SQL映射文件。

第一步:下载MyBatis的Generator工具

htt p:/ /mybati s.gith ub.i o/generator/

第二步:配置自动生成代码所需的XML配置文件,例如(generator.xml)

将这个文件保存至你下载的mybatis-generator-core-1.3.2文件夹下

第三步:进入XML配置文件(generator.xml)所在的的目录并执行命令:

Dos代码

java -jar E:\mybatis-generator-core-1.3.2\lib\mybatis-generator-core-1.3.2.j ar -configfile generator.xml -overwrite

mybatis generator eclipse插件的安装

打开eclipse,点击HelpSoftware Update

选择 "Available Software" 标签,点击 "Add Site" 按钮

输入以下信息:

Location:htt p:/ /mybatis.googleco de.c om/svn/sub-projects/gen erator/trunk/eclipse/UpdateSite/

点击ok,自动进入"mybatis generator Feature"

点击“install”按钮进行安装。。。。mybatis generator 插件安装完成

配置Mybatis Generator不要生成Example类

Mybatis Generator默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的,用到的时候手工修改mapper和接口文件就行了。

/codetable

schema="general"

tableName="tb_table_name"

domainObjectName="EntityName"

enableCountByExample="false"

enableUpdateByExample="false"

enableDeleteByExample="false"

enableSelectByExample="false"

selectByExampleQueryId="false"

name="useActualColumnNames"

value="true"/

//codetable

这样生成的mapper和dao接口就清爽多了。

电脑自动代码怎么打出来的

自动代码编写技术有许多种,如:

1、利用程序设计语言(如C、C++、Java、Python等)编写源程序,通过一定的编译器把源程序转换成机器可执行的可执行文件。

2、使用图形流程图工具、脚本编程语言(如VBS、Jscript等)等方式设计程序,将可以有脚本、编程的属性的应用程序自动进行程序的编写。

3、使用自动化编程(如autoCAD/Cam)/机器学习/软件测试等,来自动编写程序代码。

4、使用脚本编程语言(如Python、Perl、Ruby)与模板引擎(如ERB、Smarty),搭建程序模板,让脚本自动根据模板自动生成程序代码。

5、使用CGI程序,编写崭新的网页应用,及使用其框架,自动编写程序代码。

6、使用ASP/JSP等通过html和java等自动编写程序代码,完成路径的关联和界面的设计,实现自动化编程。

7、使用Android应用程序/Chrome应用程序/IOS应用程序、以及网络抓取开发,快速自动编写程序代码。

8、使用宏编程技术工具(如AutoHotkey),自动完成Windows操作系统之内的各类操作,实现智能化的自动处理。

9、使用偏好设置技术,使用Node.js服务器或者相关脚本语言,自动分析和修改网页内容,尤其是那些利用AJAX技术编写的网站,实现自动编程。

10、使用Web Services/Restful APIs、特殊工具/报表/接口开发工具,自动编写程序代码,尤其是可编辑的报表,让程序员不需要自己编写代码,而直接由工具生成可以用于生产环境的代码。

Myeclipse中如何自动生成Java代码啊

myeclipse没有直接的快捷键自动生成构造方法,可以有快捷键弹出source,接着点击自动生成构造方法的菜单。

具体操作如下:工具里快捷键alt+shift+s

就弹出来Generate

Constructor

using

Fields


文章名称:自动生成代码java程序 java代码生成器原理
文章起源:http://pwwzsj.com/article/doggpio.html