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

代碼自動生成java

發布時間: 2022-07-02 11:45:35

㈠ 自己編寫根據資料庫自動生成java代碼思路

是為了生成對應的bean嗎?
好幾年前做過類似的,也看過其他類似產品的代碼,基本思路就是遍歷唄。
先通過sql檢索所有的表或view,然後針對每個表遍歷欄位,再給欄位類型定義個匹配關系。然後一行行出代碼就行了。。想做的好點,就做個圖形界面,然後把一些選擇的條件(比如package,加不加註解等等)通過圖形界面登錄,就行了。

㈡ 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"); }}

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

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

~
~
~

㈣ 有沒有uml工具能自動生成java代碼的

我常用的是staruml,其他一些uml軟體,如rational
rose都是可以的,即可正向生成,也可以逆向生成

㈤ JAVA 如何輸入前面的代碼自動生成後面的代碼比如 我只輸入"system."後面的東西就直接選擇就行了

使用 eclipse 吧。
到網路搜索一下 eclipse

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

}

}

㈦ 如何在java中自動生成代碼

【ALT+/】
此快捷鍵為用戶編輯的好幫手,能為用戶提供內容的輔助,不要為記不全方法和屬性名稱犯愁,當記不全類、方法和屬性的名字時,多體驗一下【ALT+/】快捷鍵帶來的好處吧。

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

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

㈨ Java的資料庫操作代碼可以自動生成嗎

步驟:
1、添加一個新項目->選擇類庫模板->命名為DBCustomAction
2、單擊項目右鍵->添加新項->選擇安裝程序類(命名為DBCustomAction.cs)
3、在伺服器資源管理器中添加->連接到資料庫->指定用戶密碼(選擇允許保存密碼)->資料庫選擇master
4、切換到DBCustomAction.cs的視圖狀態->將伺服器資源管理器資料庫連接中的master.dbo拖動到designer中
5、添加一個新項sql.txt(注意要使用小寫),輸入下列sql代碼
CREATE TABLE [dbo].[MK_Employees] (
[Name] [char] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Rsvp] [int] NULL ,
[Requests] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY];
ALTER TABLE [dbo].[MK_Employees] WITH NOCHECK ADD
CONSTRAINT [PK_MK_Employees] PRIMARY KEY CLUSTERED
(
[Name]
) ON [PRIMARY];
(P.S:也可以直接用SqlServer導出)
6、在sql.txt的右鍵屬性中->生成操作->嵌入的資源
7、將DBCustomAction.cs切換到代碼視圖,添加下列代碼
private string GetSql(string Name)
{
try
{
Assembly Asm = Assembly.GetExecutingAssembly();
Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "."+Name);
StreamReader reader = new StreamReader(strm);
return reader.ReadToEnd();
}
catch (Exception ex)
{
Console.Write("In GetSql:"+ex.Message);
throw ex;
}
}

㈩ 怎麼樣用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);
}
}

熱點內容
Ap6510dn如何配置 發布:2024-03-29 00:38:47 瀏覽:332
安卓和蘋果哪個更佔用內存 發布:2024-03-29 00:37:02 瀏覽:423
編譯錯誤算bug嗎 發布:2024-03-29 00:23:03 瀏覽:33
c語言干什麼 發布:2024-03-29 00:05:35 瀏覽:314
香港中轉伺服器搭建 發布:2024-03-29 00:05:16 瀏覽:673
安卓手機怎麼在桌面上顯示鍾表 發布:2024-03-28 23:48:22 瀏覽:5
分析代碼能編譯嗎 發布:2024-03-28 23:48:16 瀏覽:767
c語言與易語言 發布:2024-03-28 23:46:25 瀏覽:588
ai壓縮腳本 發布:2024-03-28 23:41:10 瀏覽:988
危化品的存儲 發布:2024-03-28 23:02:09 瀏覽:608