老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

java代碼生成器使用 JAVA代碼生成器

java代碼生成器怎么用

zip包,然后自動下載下來

為巴州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及巴州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、巴州網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

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代碼生成器能生成c語言代碼嗎?用什么方法能實現(xiàn)呢?

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

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

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

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

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

Eclipse工具開發(fā):編寫代碼生成器[3]

;???——此文章摘自《自己動手寫開發(fā)工具 基于Eclipse的工具開發(fā)》定價 ¥  特價 ¥ 詳細(xì)//track linktech cn/?m_id=dangdanga_id=A l= l_type = width= height= border= nosave

//develop csai cn/Java_Eclipse/images/ jpg 圖 ? 設(shè)置JET的屬性

( )?? 創(chuàng)建模板文件

JET的模板文件的命名規(guī)定是在要生成的代碼生成器類的文件名后加jet 比如想命名我們的代碼生成器為MyGen java 那么只要把模板命名為MyGen javajet就可以了 因此可在 templates文件夾下創(chuàng)建一個文件EnumCodeGenerator javajet 創(chuàng)建完畢之后 系統(tǒng)會彈出一個錯誤對話框 如圖 所示

//develop csai cn/Java_Eclipse/images/ jpg 圖 ? 構(gòu)建出錯對話框

不要驚慌 這并不是說明我們的創(chuàng)建過程有錯 而是創(chuàng)建完模板文件以后 JET構(gòu)建器就去嘗試構(gòu)建EnumCodeGenerator javajet 由于這個文件是空的 所以當(dāng)然就構(gòu)建失敗報錯了

在EnumCodeGenerator javajet中輸入如下代碼 ????%@ jet package= cownew enumgenerator wizards class= EnumCodeGenerator % Hello %=argument%! ????保存以后 JET就立即會生成EnumCodeGenerator java文件 內(nèi)容如下 ????public class EnumCodeGenerator ????{ ??????? protected static String nl; ??????? public static synchronized EnumCodeGenerator create( ????String lineSeparator) ??????? { ??????????? nl = lineSeparator; ??????????? EnumCodeGenerator result = new EnumCodeGenerator(); ??????????? nl = null; ??????????? return result; ??????? } ??????? protected final String NL = nl == null ? ????(System getProperties() getProperty( line separator )) : nl; ??????? protected final String TEXT_ = Hello ; ??????? protected final String TEXT_ = ! ; ??????? protected final String TEXT_ = NL;

lishixinzhi/Article/program/Java/ky/201311/29009

很多公司開發(fā)的java代碼,jsp,js都是通過工具自動生成的如ant等

自動化開發(fā)工具,我用過,比較著名的有普元,浪潮樓上平臺等。

首先,我要糾正下,ANT并不是自動生成代碼用的工具;

那些所謂的自動代碼生成器根本原理就是根據(jù)實現(xiàn)寫事先好的模板,再根據(jù)你提供的數(shù)據(jù)庫結(jié)構(gòu),生成一系列的增刪改查方法。的確是可以減少程序員的工作量,但是不能包含復(fù)雜或者特殊的業(yè)務(wù)邏輯,否則程序員全都失業(yè)了。

java代碼生成器用途

代碼生成器就是根據(jù)特定的要求制定格式,靈活輸出在項目中重復(fù)要用到的代碼,節(jié)省項目時間,現(xiàn)在免費的代碼生成器codesmith我經(jīng)常用的,小玩意,不花錢

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é)省時間。這是地址


網(wǎng)站欄目:java代碼生成器使用 JAVA代碼生成器
鏈接分享:http://www.xueling.net.cn/article/hghcgj.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 202丰满熟女妇大 | 韩国一级片在线播放 | 国产区图片区小说区亚洲区 | 国产精品午夜剧场免费观看 | 欧美国产综合一区二区 | 欧美日p视频 | 日韩欧美中文字幕在线观看 | 少妇爆乳无码AV无码波霸 | 国产精拍| 国精品人妻无码一区二区三区软件 | 两人视频在线播放免费观看网站 | 最近新中文字幕大全高清 | 日韩在线日韩 | 夜夜爽天天干 | 一级毛片在线看 | 国产高清av在线一区二区三区 | 免费视频一区 | 欧美一区二区免费在线观看 | 在线观看亚洲 | 好爽别插了无码视频 | 国产日韩在线免费观看 | 免费观看一次性A片 | 狂野欧美激情性XXXX按摩 | 538国产精品视频一区二区 | 久久夜色精品国产欧美乱 | 国产精品成人av禁果av | 欧美日韩高清一区二区三区 | 麻豆久久久久久 | 农村人chinese熟女 | AV男人的天堂在线观看国产 | 麻豆a级片 | 中文字幕日本视频 | 91在线精品播放 | 国产a级大片 | 99在线国产视频 | 成年视频免费看 | 农村妇女一级片 | 一本色道久久99精品综合 | 日本一区二区高清不卡 | 奇米影视7777狠狠狠狠色 | 我朋友的母亲在线观看 |