當前位置:首頁 » 編程語言 » java代碼自動生成

java代碼自動生成

發布時間: 2022-08-22 15:26:25

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

自動化開發工具,我用過,比較著名的有普元,浪潮樓上平台等。
首先,我要糾正下,ANT並不是自動生成代碼用的工具;
那些所謂的自動代碼生成器根本原理就是根據實現寫事先好的模板,再根據你提供的資料庫結構,生成一系列的增刪改查方法。的確是可以減少程序員的工作量,但是不能包含復雜或者特殊的業務邏輯,否則程序員全都失業了。

2. 怎麼樣用java代碼自動生成不重復的含有數字和字母的隨機碼

package tests;
/**
* 隨機生成32位字元串
*/

public class String32 {
public static String random(int length){//傳入的字元串的長度
StringBuilder builder = new StringBuilder(length);
for(int i = 0; i < length; i++){

int r = (int) (Math.random()*3);
int rn1=(int)(48+Math.random()*10);
int rn2=(int)(65+Math.random()*26);
int rn3=(int)(97+Math.random()*26);

switch(r){
case 0:
builder.append((char)rn1);
break;
case 1:
builder.append((char)rn2);
break;
case 2:
builder.append((char)rn3);
break;
}
}
return builder.toString();
}
public static void main(String[] args){
String s = String32.random(32);
System.out.println(s);
}
}

3. java代碼生成器怎麼用

zip包,然後自動下載下來

1.預先定義好模板

最後放出源代碼:

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);
}
List<String[]> fieldList = new ArrayList<String[]>(); //屬性集合 ========4
for(int i=0; i< zindex; i++){
fieldList.add(pd.getString(「field」+i).split(「,fh,」)); //屬性放到集合裡面
}

Map<String,Object> root = new HashMap<String,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」);

}

}

4. Myeclipse中如何自動生成Java代碼啊

myeclipse沒有直接的快捷鍵自動生成構造方法,可以有快捷鍵彈出source,接著點擊自動生成構造方法的菜單。
具體操作如下:工具里快捷鍵alt+shift+s
就彈出來Generate
Constructor
using
Fields

5. java代碼生成dat文件

Filefilename=newFile("F:\zd.dat");

說明:dat可以改成任何擴展名,是自己可以定義的,如下:

publicvoidcreateFile(){

//path表示所創建文件的路徑
Stringpath="d:/tr/rt";
Filef=newFile(path);
if(!f.exists()){
f.mkdirs();
}
//fileName表示創建的文件名;為txt類型;
StringfileName="test.txt";
Filefile=newFile(f,fileName);
if(!file.exists()){
try{
file.createNewFile();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}

}
//現在可以在d:/tr/rt目錄下找到test.txt文件

6. java 如何自動生成某個數字固定,其餘數字隨機

自己設置一個方法(或者包裝系統的random類,這個更難,不過更專業),下面給你代碼:
public
int
getrandomexcept(int
randmax,int[]
exceptnums){
random
rand=new
random();
int
num=rand.nextint(randmax);
while(true){
int
have=0;
for(int
i=0;i<exceptnums.length;i++){
if(num==exceptnums[i]){
have=1;
}
}
if(have==0){
return
num;
}
num=rand.nextint(randmax);
}
}
親測可用

7. Java springboot + mybatis開發 有什麼辦法可以根據UML設計圖就可自動生成代碼IDEA有這功能嗎

那要看你的UML工具支不支持代碼生成,比如PowerDesigner就支持UML和Java代碼間的轉換,需要對PowerDesigner進行一定的配置。

8. yaml java代碼自動生成 部分類生出不出來

做自動測試時,使用yaml文件做界面要素配置,出現一個問題,經過自己的嘗試實現了xpath方式的讀取。把代碼分項出來。尤其是在使用xpath是,會出現yaml讀取出錯的情況。此時需要將xpath的內容使用雙引號括起來。代碼如下

6
logout: type:name value:logoutlogoutConfirm: type:xpath value:"//*[@id='queding']//td/*//button"

來自CODE的代碼片
snippet_file_0.txt

讀取yaml文件的java代碼如下

package com.bfm.utilities;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.HashMap;import org.ho.yaml.Yaml;/*該類為獲取yaml文件中的內容*/public class YamlReader { private HashMap<String, HashMap<String, String>> yml; @SuppressWarnings("unchecked") public HashMap<String, HashMap<String, String>> getYamlFile(String yamlFile) { File f = new File(yamlFile); try { this.yml = (HashMap<String, HashMap<String, String>>) Yaml.loadType(new FileInputStream(f.getAbsolutePath()), HashMap.class); } catch (FileNotFoundException e) { e.printStackTrace(); } return this.yml; } public static void main (String args[]){ YamlReader yr = new YamlReader(); yr.getYamlFile("E:\\workspace\\bfm\\src\\com\\bfm\\pageElements\\mainPageElements.yaml"); }}

9. 想用java自動生成貨品編號的代碼,生成規則如下:

那就傳分類的參數,去生成唄,,,,,從數據中確定下一個編號

~
~
~

熱點內容
php旅遊網站系統 發布:2024-05-07 20:27:32 瀏覽:610
jdk源碼怎麼看 發布:2024-05-07 20:18:22 瀏覽:519
編程c語言自學書 發布:2024-05-07 20:12:03 瀏覽:422
usb大容量存儲驅動 發布:2024-05-07 19:02:01 瀏覽:815
紅米1s沒有存儲空間 發布:2024-05-07 18:59:09 瀏覽:505
妖雲解壓密碼 發布:2024-05-07 18:50:08 瀏覽:1002
sql語句等於怎麼寫 發布:2024-05-07 18:05:46 瀏覽:816
我的世界電腦版第三方伺服器大全 發布:2024-05-07 18:00:46 瀏覽:627
主伺服器的ip地址 發布:2024-05-07 17:58:50 瀏覽:546
組伺服器打電腦游戲 發布:2024-05-07 17:46:19 瀏覽:866