成都网站建设设计

将想法与焦点和您一起共享

写java代码一键生成 java一键整理代码

java代码生成器怎么用

zip包,然后自动下载下来

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比思礼网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式思礼网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖思礼地区。费用合理售后完善,十多年实体公司更值得信赖。

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

}

}

自己编写根据数据库自动生成java代码思路?

是为了生成对应的bean吗?

好几年前做过类似的,也看过其他类似产品的代码,基本思路就是遍历呗。

先通过sql检索所有的表或view,然后针对每个表遍历字段,再给字段类型定义个匹配关系。然后一行行出代码就行了。。想做的好点,就做个图形界面,然后把一些选择的条件(比如package,加不加注解等等)通过图形界面登录,就行了。

怎么样用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);

}

}

Java动态生成代码

可以的,我说说大概思路,很简单,你自己具体实现吧,把代码写给你没意义的:

1.将你这段字符串输出到一个文件里,用Java类文件的方式命名。

2.调用外部javac命令将该文件编译。

3.用类加载器(ClassLoad)动态加载新的class文件并用Class.forName()注册该类,然后就可以正常使用了。

上面的每一步都能在baidu中找到实现方法,自己发挥吧。

Myeclipse中如何自动生成Java代码啊

myeclipse没有直接的快捷键自动生成构造方法,可以有快捷键弹出source,接着点击自动生成构造方法的菜单。

具体操作如下:工具里快捷键alt+shift+s 就弹出来Generate Constructor using Fields


网站标题:写java代码一键生成 java一键整理代码
URL网址:http://chengdu.cdxwcx.cn/article/hgpcgh.html