java的代码生成器,java 代码生成

java代码生成器怎么用

zip包,然后自动下载下来

创新互联专注于企业成都营销网站建设、网站重做改版、涞水网站定制设计、自适应品牌网站建设、H5开发电子商务商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为涞水等各大城市提供网站开发制作服务。

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代码生成器用途

主要功能: 你只要设计好数据库 就可以生成java vo

java DAO jsp

servlet

struts-config配置信息

oracle 建表语句 查询语句 等

可生成java struts 架构的完整的源码 包括 增加 删除 修改 查询等功能的源码

1.不同的架构,需要不同的生成器

2.生成器一般需要模板技术,如freeMarker、velocity等

3.生成器也是Java项目,可以自己修改、设计、开发

4.生成器能节省一定的工作量

学这个? 网上都有现成的软件,会用就行,使用很简单。 如果是想学开发一个代码生成器的话,我觉得没必要啊。

你把JAVA 语言学会了,真正在开发的时候自然会遇见这个软件,自然就会了

JeeCGBoot低代码开发平台,强大的代码生成器前后端一起生成

今日推荐:JeeCGBoot低代码开发平台

推荐理由:

1、前后端实现分离架构,通过API调用,实现架构解耦

2、项目集成SpringBoot、SpringCloud的Spring全家桶

3、在线实现开发,表单开发设计、报表配置、在线图表设计、在线设计流程、流程自动化、插件能力等

4、系统集成了工作流,实现扩展任务接口。

5、解决java项目的70%的重复工作

6、最重要的是技术售后的完善,有完善的开发文档,常见问题,交流群

适用场景

1、内部办公系统OA

2、企业资源计划系统ERP

3、客户关系管理系统CRM

4、企业信息管理系统

5、电商SAAS系统

功能特色:

1、支持微服务SpringCloudAlibab全家桶

2、前后端高效代码生成器,单表,一对多模型,CRUD等功能一键生成

3、低代码图表功能,在线设计图表无需编码,实现曲线图,柱状图,数据报表等自定义排版布局

4、封装各种工具类,如定时任务,短信接口邮件发送,excel导入,文件上传下载等

5、支持查询过滤器,动态拼装SQL追加查询条件

6、实现数据权限,控制到行级,列表级,表单字段级,实现不同人看不同数据

7、支持SAAS服务模式,提供多租户的架构方案

8、数据库兼容主流Mysql、PostgreSql、Oracle、SQLServer、MariaDB等主流数据库,一套代码兼容主流

9、集成了Activiti工作流

10、支持单点登录CAS集成方案

11、接口统一采用restful接口方式,集成了Swagger-ui在线接口文档

技术架构:

后台环境:

Java8+Maven+Mysql+Redis

后台开发技术

springBoot2+SpringCloudAlibaba+MybatisPlus+Jimurport+ApacheShir

前端:

Vue2.6+Axios

微服务架构图:

后台操作图:

支持手机端


当前文章:java的代码生成器,java 代码生成
分享URL:http://hbruida.cn/article/hsgehj.html