java有代碼生成器 java代碼生成工具推薦

java代碼生成器怎么用

zip包,然后自動下載下來

創(chuàng)新互聯(lián)公司專注網(wǎng)站設(shè)計,以設(shè)計驅(qū)動企業(yè)價值的持續(xù)增長,網(wǎng)站,看似簡單卻每一個企業(yè)都需要——設(shè)計,看似簡潔卻是每一位設(shè)計師的心血 十余年來,我們只專注做網(wǎng)站。認(rèn)真對待每一個客戶,我們不用口頭的語言來吹擂我們的優(yōu)秀,上1000家的成功案例見證著我們的成長。

1.預(yù)先定義好模板

2.界面輸入相關(guān)參數(shù)

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

* 創(chuàng)建人:Harries

* 創(chuàng)建時間: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(); //表前綴轉(zhuǎn)大寫

String zindext = pd.getString(“zindex”); //屬性總數(shù)

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(); //創(chuàng)建數(shù)據(jù)模型

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()); //當(dāng)前日期

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數(shù)據(jù)庫腳本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle數(shù)據(jù)庫腳本/”+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自動創(chuàng)建實體類工具?

AutoJava 是一款免費的,針對于Oracle和SQLserver數(shù)據(jù)庫的、以面向?qū)ο竽J降腏ava代碼生成工具。AutoJava根據(jù)O/R Mapping規(guī)則生成表對應(yīng)的Java對象,并且生成了所有的添加、刪除、修改、查詢等底層數(shù)據(jù)庫操作代碼。借助于AutoJava我們基本上不用再寫與數(shù)據(jù)庫相關(guān)的操作代碼,只需要在此基礎(chǔ)上實現(xiàn)相關(guān)的業(yè)務(wù)邏輯,將我們從重復(fù)的無太大技術(shù)含量的工作中解放出來。

AutoJava 是我在工作中為了省時間而寫出來的一個小工具,希望AutoJava能給廣大的Java人員在編碼過程中節(jié)省時間。這是地址

java低代碼開發(fā)平臺有哪些

JNPF低代碼開發(fā)平臺可以以極少量代碼或無代碼的方式開發(fā)各種企業(yè)級管理系統(tǒng),其特點如下:

1. web在線開發(fā)

低代碼開發(fā)平臺是個全Web可視化開發(fā)和運行架構(gòu),只要在web端網(wǎng)頁就能開發(fā),不需要安裝配置復(fù)雜的本地開發(fā)環(huán)境;

2. 代碼生成器

依托代碼生成器,開發(fā)人員大大減少了代碼編輯量,并且生成的代碼還可下載拷貝應(yīng)用,可根據(jù)需求進(jìn)行個性化修改;

3. 工作流引擎

工作流引擎可以輕松快捷的搭建業(yè)務(wù)流程管理系統(tǒng)和協(xié)同交互管理體系,可隨時按需更改流程邏輯以適應(yīng)新需求;

4. 流程設(shè)計器

流程設(shè)計器集成了表單設(shè)計器和流程引擎,并支持線性流程、父子流程、同步分合流、異步分合流程,全部實現(xiàn)可視化設(shè)計;

5. 全源碼交付

低代碼開發(fā)平臺提供商業(yè)化的全源碼交付,可進(jìn)行二次個性化開發(fā),減少了代碼編寫,簡化了開發(fā)流程,提升了開發(fā)效率;

6. 更新升級快速

如果需求發(fā)生變化,用戶只需通過web端網(wǎng)頁登錄開發(fā)賬號,調(diào)整相應(yīng)的功能并發(fā)布即可,整個過程可能只需要幾分鐘便可完成;

7. 數(shù)據(jù)管理強大

低代碼開發(fā)平臺的數(shù)據(jù)處理功能十分強大,可自動生成各種報表,還可以以大屏的方式直觀的呈現(xiàn)出實時的動態(tài)數(shù)據(jù);

8. 縮減開發(fā)成本

傳統(tǒng)的編程開發(fā)模式需要許多人來共同協(xié)作研發(fā),現(xiàn)在運用低代碼開發(fā)平臺只需要兩三個甚至一個人便可完成開發(fā)工作;

9. 部署方式靈活

平臺的部署方式十分多樣化,可實現(xiàn)公有云和私有云部署,也可進(jìn)行本地化部署,以滿足企業(yè)多變的差異化需求;

10. 快速開發(fā)SaaS

平臺可以輕松快速地開發(fā)ERP、CRM、HRM、BPM、OA、財務(wù)管理等各類SaaS管理系統(tǒng)和業(yè)務(wù)管理系統(tǒng),助力企業(yè)效益提升;

這便是JNPF低代碼開發(fā)平臺的主要特點和優(yōu)勢,其大大優(yōu)于第三方定制開發(fā)以及企業(yè)自主探索開發(fā)等幾種傳統(tǒng)的開發(fā)方式。運用JNPF低代碼開發(fā)平臺,開發(fā)者可以高效快速的開發(fā)各種企業(yè)管理系統(tǒng),并還可以進(jìn)行各種子系統(tǒng)、子平臺的開發(fā)拓展,以滿足企業(yè)各種復(fù)雜的管理運營需求,同時系統(tǒng)的更新升級也十分敏捷方便。

java代碼生成器用途

主要功能: 你只要設(shè)計好數(shù)據(jù)庫 就可以生成java vo

java DAO jsp

servlet

struts-config配置信息

oracle 建表語句 查詢語句 等

可生成java struts 架構(gòu)的完整的源碼 包括 增加 刪除 修改 查詢等功能的源碼

1.不同的架構(gòu),需要不同的生成器

2.生成器一般需要模板技術(shù),如freeMarker、velocity等

3.生成器也是Java項目,可以自己修改、設(shè)計、開發(fā)

4.生成器能節(jié)省一定的工作量

學(xué)這個? 網(wǎng)上都有現(xiàn)成的軟件,會用就行,使用很簡單。 如果是想學(xué)開發(fā)一個代碼生成器的話,我覺得沒必要啊。

你把JAVA 語言學(xué)會了,真正在開發(fā)的時候自然會遇見這個軟件,自然就會了

java代碼生成器能生成c語言代碼嗎?用什么方法能實現(xiàn)呢?

按照我的理解,可以的,代碼生成器是跨平臺,而且是跨語言的(至少是跨文本語言的,UML暫時不好說,)。

代碼生成器作為一種開發(fā)工具,一般不直接作為程序的一部分,通常也不直接或間接(如通過AOP)被程序調(diào)用,他是通過編程的方式生成所需要的代碼,然后將生成的代碼作為源文件,復(fù)制到開發(fā)工具的代碼區(qū),然后進(jìn)行編譯。由于代碼生成器是在編譯之前運行的,因此它可以跨語言,你不但可以用代碼生成器生成高級語言,也可以生成匯編語言,甚至機器碼(0、1代碼)。

但編寫代碼生成器是一個難點,它需要你了解目標(biāo)編程語言的語法。如果別人已經(jīng)把你需要的代碼生成器寫好了,你只需按要求使用即可,此時就不需要了解目標(biāo)編程語言的語法。

JNI是通過Java調(diào)用C語言(或其他語言,一般是C),它的實現(xiàn)機制與代碼生成器不同(JNI是通過代碼調(diào)用實現(xiàn)功能,而代碼生成器是生成代碼,復(fù)制代碼進(jìn)行使用),由于C是底層語言,一些底層操作單靠Java無法實現(xiàn),所以才需要JNI。

以上是我對代碼生成器的個人理解,雖然提問時間已過了很久,但依然希望能對你及其他網(wǎng)友有所幫助。

JeeCGBoot低代碼開發(fā)平臺,強大的代碼生成器前后端一起生成

今日推薦:JeeCGBoot低代碼開發(fā)平臺

推薦理由:

1、前后端實現(xiàn)分離架構(gòu),通過API調(diào)用,實現(xiàn)架構(gòu)解耦

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

3、在線實現(xiàn)開發(fā),表單開發(fā)設(shè)計、報表配置、在線圖表設(shè)計、在線設(shè)計流程、流程自動化、插件能力等

4、系統(tǒng)集成了工作流,實現(xiàn)擴展任務(wù)接口。

5、解決java項目的70%的重復(fù)工作

6、最重要的是技術(shù)售后的完善,有完善的開發(fā)文檔,常見問題,交流群

適用場景

1、內(nèi)部辦公系統(tǒng)OA

2、企業(yè)資源計劃系統(tǒng)ERP

3、客戶關(guān)系管理系統(tǒng)CRM

4、企業(yè)信息管理系統(tǒng)

5、電商SAAS系統(tǒng)

功能特色:

1、支持微服務(wù)SpringCloudAlibab全家桶

2、前后端高效代碼生成器,單表,一對多模型,CRUD等功能一鍵生成

3、低代碼圖表功能,在線設(shè)計圖表無需編碼,實現(xiàn)曲線圖,柱狀圖,數(shù)據(jù)報表等自定義排版布局

4、封裝各種工具類,如定時任務(wù),短信接口郵件發(fā)送,excel導(dǎo)入,文件上傳下載等

5、支持查詢過濾器,動態(tài)拼裝SQL追加查詢條件

6、實現(xiàn)數(shù)據(jù)權(quán)限,控制到行級,列表級,表單字段級,實現(xiàn)不同人看不同數(shù)據(jù)

7、支持SAAS服務(wù)模式,提供多租戶的架構(gòu)方案

8、數(shù)據(jù)庫兼容主流Mysql、PostgreSql、Oracle、SQLServer、MariaDB等主流數(shù)據(jù)庫,一套代碼兼容主流

9、集成了Activiti工作流

10、支持單點登錄CAS集成方案

11、接口統(tǒng)一采用restful接口方式,集成了Swagger-ui在線接口文檔

技術(shù)架構(gòu):

后臺環(huán)境:

Java8+Maven+Mysql+Redis

后臺開發(fā)技術(shù)

springBoot2+SpringCloudAlibaba+MybatisPlus+Jimurport+ApacheShir

前端:

Vue2.6+Axios

微服務(wù)架構(gòu)圖:

后臺操作圖:

支持手機端

分享題目:java有代碼生成器 java代碼生成工具推薦
標(biāo)題URL:http://muchs.cn/article40/doocseo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、定制開發(fā)搜索引擎優(yōu)化、ChatGPT、服務(wù)器托管、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管