真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java代碼生成器教程,自動(dòng)生成java代碼工具

如何在eclipse中使用代碼生成器rapid-framework

官方有示例教程。你可以下載看一下。

創(chuàng)新互聯(lián)公司專注于昆明企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。昆明網(wǎng)站建設(shè)公司,為昆明等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

基本的步驟:

1. 注冊(cè)數(shù)據(jù)庫(kù)服務(wù)器連接。

2. 選擇數(shù)據(jù)庫(kù)或者表,右鍵可以選擇生成代碼

3. 設(shè)置生成代碼的架構(gòu),模塊,及參數(shù),點(diǎn)擊生成,就可以生曾三層架構(gòu)的代碼了

4.當(dāng)然也可以新建項(xiàng)目,和批量生成,然后添加到已經(jīng)開發(fā)中的項(xiàng)目中。

還可以生成數(shù)據(jù)腳本,和數(shù)據(jù)庫(kù)的文檔,你自己研究一下吧

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

按照我的理解,可以的,代碼生成器是跨平臺(tái),而且是跨語(yǔ)言的(至少是跨文本語(yǔ)言的,UML暫時(shí)不好說(shuō),)。

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

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

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

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

java代碼生成器用途

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

java DAO jsp

servlet

struts-config配置信息

oracle 建表語(yǔ)句 查詢語(yǔ)句 等

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

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

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

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

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

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

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

java代碼生成器怎么用

zip包,然后自動(dòng)下載下來(lái)

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)建時(shí)間: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ù)庫(kù)腳本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle數(shù)據(jù)庫(kù)腳本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

/*生成jsp頁(yè)面*/

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);

/*生成說(shuō)明文檔*/

Freemarker.printFile(“docTemplate.ftl”, root, “說(shuō)明.doc”, filePath, ftlPath);

//this.print(“oracle_SQL_Template.ftl”, root); 控制臺(tái)打印

/*生成的全部代碼壓縮成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”);

}

}

autocode代碼生成器JAVA版的用法??

我有一個(gè)代碼生成器,專門為自己開發(fā)定制的.通過讀取XML配置文件自動(dòng)生成BEAN,DAO,SERVICE類代碼及SQL腳本語(yǔ)句.


文章標(biāo)題:java代碼生成器教程,自動(dòng)生成java代碼工具
鏈接地址:http://weahome.cn/article/hosssj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部