代碼生成器是按照特定編碼規(guī)范輸出代碼的軟件,可以直接生成項目,也可以單頁生成
站在用戶的角度思考問題,與客戶深入溝通,找到赤坎網(wǎng)站設(shè)計與赤坎網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋赤坎地區(qū)。
比如動軟,生成項目可以選擇vs版本的,其實嘛,動軟挺垃圾的,不如你去學學orm框架,很簡單的,比動軟的三層好得多
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ù)邏輯,將我們從重復的無太大技術(shù)含量的工作中解放出來。
AutoJava 是我在工作中為了省時間而寫出來的一個小工具,希望AutoJava能給廣大的Java人員在編碼過程中節(jié)省時間。這是地址
JNPF低代碼開發(fā)平臺可以以極少量代碼或無代碼的方式開發(fā)各種企業(yè)級管理系統(tǒng),其特點如下:
1. web在線開發(fā)
低代碼開發(fā)平臺是個全Web可視化開發(fā)和運行架構(gòu),只要在web端網(wǎng)頁就能開發(fā),不需要安裝配置復雜的本地開發(fā)環(huán)境;
2. 代碼生成器
依托代碼生成器,開發(fā)人員大大減少了代碼編輯量,并且生成的代碼還可下載拷貝應(yīng)用,可根據(jù)需求進行個性化修改;
3. 工作流引擎
工作流引擎可以輕松快捷的搭建業(yè)務(wù)流程管理系統(tǒng)和協(xié)同交互管理體系,可隨時按需更改流程邏輯以適應(yīng)新需求;
4. 流程設(shè)計器
流程設(shè)計器集成了表單設(shè)計器和流程引擎,并支持線性流程、父子流程、同步分合流、異步分合流程,全部實現(xiàn)可視化設(shè)計;
5. 全源碼交付
低代碼開發(fā)平臺提供商業(yè)化的全源碼交付,可進行二次個性化開發(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)公有云和私有云部署,也可進行本地化部署,以滿足企業(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),并還可以進行各種子系統(tǒng)、子平臺的開發(fā)拓展,以滿足企業(yè)各種復雜的管理運營需求,同時系統(tǒng)的更新升級也十分敏捷方便。
自動化開發(fā)工具,我用過,比較著名的有普元,浪潮樓上平臺等。
首先,我要糾正下,ANT并不是自動生成代碼用的工具;
那些所謂的自動代碼生成器根本原理就是根據(jù)實現(xiàn)寫事先好的模板,再根據(jù)你提供的數(shù)據(jù)庫結(jié)構(gòu),生成一系列的增刪改查方法。的確是可以減少程序員的工作量,但是不能包含復雜或者特殊的業(yè)務(wù)邏輯,否則程序員全都失業(yè)了。
zip包,然后自動下載下來
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()); //當前日期
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”);
}
}
代碼生成器就是根據(jù)特定的要求制定格式,靈活輸出在項目中重復要用到的代碼,節(jié)省項目時間,現(xiàn)在免費的代碼生成器codesmith我經(jīng)常用的,小玩意,不花錢
分享題目:java自動代碼生成器 自動代碼生成軟件大全
網(wǎng)址分享:http://m.rwnh.cn/article46/doojheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、App開發(fā)、網(wǎng)站策劃、App設(shè)計、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化
聲明:本網(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)