方正的快速開發平臺ES2007很符合你的要求。ES2007平臺基于SOA架構體系,結合數據建模、業務建模、可視化流程引擎、動態表單設計等多種實現工具,是企業應用開發的一個高效、強大、開放的開發工具。其柔性的特點,保障了基于ES2007平臺開發的系統可在.net平臺與j2ee平臺上無縫的切換運行??梢陨戏秸w鴻的官網下載個人免費試用版
成都創新互聯公司專注于企業成都全網營銷、網站重做改版、中寧網站定制設計、自適應品牌網站建設、H5技術、成都做商城網站、集團公司官網建設、成都外貿網站建設公司、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為中寧等各大城市提供網站開發制作服務。
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”);
}
}
代碼生成器就是根據特定的要求制定格式,靈活輸出在項目中重復要用到的代碼,節省項目時間,現在免費的代碼生成器codesmith我經常用的,小玩意,不花錢
按照我的理解,可以的,代碼生成器是跨平臺,而且是跨語言的(至少是跨文本語言的,UML暫時不好說,)。
代碼生成器作為一種開發工具,一般不直接作為程序的一部分,通常也不直接或間接(如通過AOP)被程序調用,他是通過編程的方式生成所需要的代碼,然后將生成的代碼作為源文件,復制到開發工具的代碼區,然后進行編譯。由于代碼生成器是在編譯之前運行的,因此它可以跨語言,你不但可以用代碼生成器生成高級語言,也可以生成匯編語言,甚至機器碼(0、1代碼)。
但編寫代碼生成器是一個難點,它需要你了解目標編程語言的語法。如果別人已經把你需要的代碼生成器寫好了,你只需按要求使用即可,此時就不需要了解目標編程語言的語法。
JNI是通過Java調用C語言(或其他語言,一般是C),它的實現機制與代碼生成器不同(JNI是通過代碼調用實現功能,而代碼生成器是生成代碼,復制代碼進行使用),由于C是底層語言,一些底層操作單靠Java無法實現,所以才需要JNI。
以上是我對代碼生成器的個人理解,雖然提問時間已過了很久,但依然希望能對你及其他網友有所幫助。
JNPF低代碼開發平臺可以以極少量代碼或無代碼的方式開發各種企業級管理系統,其特點如下:
1. web在線開發
低代碼開發平臺是個全Web可視化開發和運行架構,只要在web端網頁就能開發,不需要安裝配置復雜的本地開發環境;
2. 代碼生成器
依托代碼生成器,開發人員大大減少了代碼編輯量,并且生成的代碼還可下載拷貝應用,可根據需求進行個性化修改;
3. 工作流引擎
工作流引擎可以輕松快捷的搭建業務流程管理系統和協同交互管理體系,可隨時按需更改流程邏輯以適應新需求;
4. 流程設計器
流程設計器集成了表單設計器和流程引擎,并支持線性流程、父子流程、同步分合流、異步分合流程,全部實現可視化設計;
5. 全源碼交付
低代碼開發平臺提供商業化的全源碼交付,可進行二次個性化開發,減少了代碼編寫,簡化了開發流程,提升了開發效率;
6. 更新升級快速
如果需求發生變化,用戶只需通過web端網頁登錄開發賬號,調整相應的功能并發布即可,整個過程可能只需要幾分鐘便可完成;
7. 數據管理強大
低代碼開發平臺的數據處理功能十分強大,可自動生成各種報表,還可以以大屏的方式直觀的呈現出實時的動態數據;
8. 縮減開發成本
傳統的編程開發模式需要許多人來共同協作研發,現在運用低代碼開發平臺只需要兩三個甚至一個人便可完成開發工作;
9. 部署方式靈活
平臺的部署方式十分多樣化,可實現公有云和私有云部署,也可進行本地化部署,以滿足企業多變的差異化需求;
10. 快速開發SaaS
平臺可以輕松快速地開發ERP、CRM、HRM、BPM、OA、財務管理等各類SaaS管理系統和業務管理系統,助力企業效益提升;
這便是JNPF低代碼開發平臺的主要特點和優勢,其大大優于第三方定制開發以及企業自主探索開發等幾種傳統的開發方式。運用JNPF低代碼開發平臺,開發者可以高效快速的開發各種企業管理系統,并還可以進行各種子系統、子平臺的開發拓展,以滿足企業各種復雜的管理運營需求,同時系統的更新升級也十分敏捷方便。
名稱欄目:在線java代碼生成器 java 代碼生成
本文路徑:http://vcdvsql.cn/article34/hpggpe.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、面包屑導航、商城網站、品牌網站設計、靜態網站、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯