大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
zip包,然后自动下载下来
创新互联专注于企业全网整合营销推广、网站重做改版、土默特左旗网站定制设计、自适应品牌网站建设、H5技术、商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为土默特左旗等各大城市提供网站开发制作服务。
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”);
}
}
代码生成器就是根据特定的要求制定格式,灵活输出在项目中重复要用到的代码,节省项目时间,现在免费的代码生成器codesmith我经常用的,小玩意,不花钱
使用开发工具之前,需要知道免费java开发工具有哪些?实用型java开发工具特点,我们以熟知这些软件的优点和缺点为前提,以便在后期实操过程中根据实际情况选择应用最适合的的java开发工具。
免费java开发工具有哪些?实用型java开发工具特点?java开发工具一、JavaWorkshopSunMicroSystems公司于推出了JavaWorkShop1.0,这是业界出现的第一个供Internet网使用的多平台开发工具,它可以满足各公司开发Internet和Intranet网应用软件的需要。
JavaWorkShop完全用Java语言编写,是当今市场上销售的第一个完全的Java开发环境,目前JavaWorkShop的最性版本是3.0。
JavaWorkshop的特点表现如下:1)结构易于创建:在创建平台中立的网格结构方面,JavaWorkshop比其他任何一种Java开发工具都要方便。
2)可视化编程:JavaWorkshop的可视化编程特性是很基本的。
JavaWorkshop允许程序员重新安排这些操作,甚至可以确定触发操作行为的过滤器。
JavaWorkshop产生的模板带有许多注释,这对程序员是很有帮助的。
此外,JavaWorkShop支持JDK以及JavaBeans组件模型,API和语言特征增加了编译Java应用程序的灵活性。
JavaWorkShop开发环境由于完全用Java写成,所以可移植性极好,以致于多个平台都能支持,目前JavaWorkShop支持Solaris操作环境SPARC及Intel版)、Windows95、WindowsNT、以及HP/Ux等平台。
适合于初学者进行一些简单的Java编程。
JavaWorkShop的缺点是JavaWorkshop中的每一个可视化对象都迟早会用到网格布局,这种设计方法是许多人不习惯的;JavaWorkdshop的调色板是较差的,仅仅能满足绝大部分应用的基本要求。
java开发工具二、Borland的JBuilderJbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服务器方以及EJB开发者们来说。
下面简单介绍一下Jbuilder的特点:1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB(EnterpriseJavaBeans)的应用。
2)用户可以自动地生成基于后端数据库表的EJBJava类,Jbuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言InterfaceDefinitionLanguage)和控制远程对象。
3)Jbuilder支持各种应用服务器。
Jbuilder与InpriseApplicationServer紧密集成,同时支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速开发J2EE的电子商务应用。
4)Jbuilder能用Servlet和JSP开发和调试动态Web应用。
5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。
由于Jbuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。
6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。
JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业的J2EE开发;缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较吃内存,这时运行速度显得较慢。
java开发工具三、IBM的VisualAgeforJavaVisualAgeforJava是一个非常成熟的开发工具,它的特性以于IT开发者和业余的Java编程人员来说都是非常用有用的。
它提供对可视化编程的广泛支持,支持利用CICS连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。
IBM为建设Web站点所推出的WebSphereStudioAdvancedEdition及其包含的VisualAgeforJavaProfessionalEdition软件已全面转向以Java为中心,这样,Java开发人员对WebSphere全套工具的感觉或许会好了许多。
Studio所提供的工具有:Web站点管理、快速开发JDBC页向导程序、HTML编辑器和HTML语法检查等。
这确实是个不错的HTML站点页面编辑环境。
Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速移动代码的选项。
这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员可以相互交换文件、协同工作。
VisualAgeforJava支持团队开发,内置的代码库可以自动地根据用户做出改动而修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。
与VisualAge紧密结合的WebsphereStudio本身并不提供源代码和版本管理的支持,它只是包含了一个内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统。
VisualAgeforJava完全面向对象的程序设计思想使得开发程序非常快速、高效。
你可以不编写任何代码就可以设计出一个典型的应用程序框架。
VisualAgeforJava作为IBM电子商务解决方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,迅速完成从设计、开发到部署应用的整个过程。
VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,你无法让VisualAgeforJava与其他工具一起联合开发应用。
java开发工具四、WebGain的Visu模板管理是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和Microsoft虚拟机上工作的调试器。
这对于开发者来讲是一个重要的特性,因为用户开发的Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。
在修改后进行编译基继续进行调试时,VisualCafe会自动将文件存盘,使用VisualCafe创建的原生应用具有许多特点。
除了明显的速度提高之外,Symantec使类库的二进制方式比正常的JDK小VisualCafe为所指定的关系自动生成或更新必要的Java代码。
利用VisualCafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而不必再编写源代码。
VisualCafe还提供了一个扩充的源代码开发工具集。
VisualCafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视图和源视图之间进行有效地转换。
在可视化视图中进行的修改立即反映在源代码中。
对源代码的改变自动更新可视化视图。
VisualCafe具有许多源文件方面的特性,如全局检索和替换。
绝大多数Java开发工具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开始创建自己的应用。
VisualCafe提供了非常全面的用户指南,它对最开始的安装到创建第一个Java应用和Applet都提供了全面的帮助,VisualCafe将自动生成所指明关系的必要Java代码。
VisualCafe可以在Windows95和WindowsNT平台下运行,Symantec公司为Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。
VisualCafe编译器速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难。
java开发工具五、AntAnotherNeatTool(Ant)是一种基于Java的build工具。
理论上来说,它有些类似于(Unix)C中的make,但没有make的缺陷。
因为Ant的原作者在多种(硬件)平台上开发软件时,无法忍受这些工具的限制和不便。
类似于make的工具本质上是基于shell(语言)的:他们计算依赖关系,然后执行命令(这些命令与你在命令行敲的命令没太大区别)。
这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具;然而,这也意味着你将自己限制在了特定的OS,或特定的OS类型上,如Unix。
Ant就不同了。
与基于shell命令的扩展模式不同,Ant用Java的类来扩展。
(用户)不必编写shell命令,配置文件是基于XML的,通过调用target树,就可执行各种task。
每个task由实现了一个实现了特定Task接口的对象来运行。
Ant支持一些可选task,一个可选task一般需要额外的库才能工作。
可选task与Ant的内置task分开,单独打包。
这个可选包可以从你下载Ant的同一个地方下载。
ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。
除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
Ant是Apache提供给Java开发人员的构建工具,它可以在WindowsOS和UnixOS下运行,它不仅开放源码并且还是一个非常好用的工具。
Ant是ApacheJakarta中一个很好用的Java开发工具,Ant配置文件采用XML文档编写,所以Java程序员对其语法相当熟悉,Ant是专用于Java项目平台,能够用纯Java来开发,它能够运行于Java安装的平台,即体现了它的跨平台功能。
它的缺点显示执行结果只能是DOS字符界面,不能进行复杂的java程序开发。
免费java开发工具有哪些?实用型java开发工具有JavaWorkshop、Borland的JBuilder、IBM的VisualAgeforJava、VisualCafeforJava、Ant等,除此之外还要很多其他的开发工具。
感谢大家阅读由java问答分享的“免费java开发工具有哪些?实用型java开发工具特点?”希望对大家有所帮助,了解更多专业课程培训内容请关注昆明北大青鸟java培训机构官网。
免责声明:以上内容仅作为信息传播,文中部分信息来源于互联网,仅供阅读参考。
1 bean属性按原始数据库字段经过去掉下划线,并大写处理首字母等等.
2 生成的bean带了数据库的字段说明.
3 各位自己可以修改此工具用到项目中去.
如何使用GenesisTools代码生成工具生成java代码
ROSE 生成代码:首先要在Tools--Java/J2EE--Project Specification里面的classpath里面加入你要生成的代码的目的路径。然后选中一个或多个包/类,选择Tools--Java/J2EE--Generate Code,将目的路径assign给你要生成代码的包/类,点OK就可以生成代码了