在实际的软件开发中不可避免的存在很多相似但又不可或缺的代码,很多程序员都是Ctrl+C,Ctral+V然后简单修改来完成一个功能.这个过程很枯燥,但日常的编码中却经常出现,而且由于一点点疏忽可能导致代码出错,使用本代码生成器可以批量快速生成一致的代码,可以大大提高工作效率.
本代码生成器与其他代码生成器相比优点在于可以自由定制模板,任何语言的代码都可以转换为模板,然后用工具生成一致的代码.本代码生成器使用Velocity作为模板,并定义了一套实用的api变量,这些变量可与Velocity很好的结合帮助我们生成代码.
下载地址:(注:以下x86和x64版本是指电脑上安装的JDK版本,不是操作系统本身的版本)
(x86):http://download.csdn.net/detail/lk_blog/6961519
(x64):http://download.csdn.net/detail/lk_blog/6961547
软件使用帮助视频教程: http://pan.baidu.com/s/1bnxOHGF
软件截图:
主要功能说明:
代码生成工具使用前置条件:系统安装JDK并配置JAVA_HOME环境变量。
(一)、数据库生成实体类.
1.配置
(1)本工具提供了3中连接数据库的方式,分别是:MySql、Oracle、SqlServer,在界面上给出连接示例,方便进行复制和修改(减少因错误配置连接方式而带来了不能链接数据库问题)。配置正确后即可正确读取出数据库中的相关表和表中字段。
(2)生成的代码路径可根据需要进行灵活配置,如果没有配置默认为:d:\.LKGenerator\dest-beans
(3)提供了根据数据表生成代码的相关配置,可以配置去掉表前缀(如t_),去掉表后缀,去掉表名内容下划线(业界习惯表命名中用下划线区分单词),大写表名下划线后的第一个字母,去掉属性中下划线并大写其后第一个字母,这样可以使生成的代码更符合业界代码命名习惯,如,用户和角色的关联关系表常被命名为:t_user_role,表中字段有user_id和role_id,按上面的配置后生成的代码为UserRole.java,类中的属性为userId和roleId.
2.选择表
前置条件:本功能要求第一步配置数据库连接方式能正确连接到数据库。
本功能可列出所配置数据库的所有表,请选择所需生成代码的表后点击确认按钮(注:如果重新配置步骤1的数据库连接后需刷新列表)。
3.生成实体类代码
前置条件:步骤2中选择了需要生成代码的表。
本功能可根据步骤2中选择表进行实体Beans代码的生成,生成的代码默认包含AutoBean和AutoField的注解配置(AutoBean和AutoField注解非生成代码的必须项,如果配置了可以在生成代码时时为模版注入该配置,增强模版的扩展性)。
4.编译实体类
前置条件:系统安装JDK并配置JAVA_HOME环境变量
本功能可以对Java代码进行编译(注:本功能的使用不必要依赖步骤3中的代码,可对任何正确的java代码进行编译,如果代码中有引用第三方的jar,请将jar放置到d:\.LKGenerator\.lib文件夹下。)
5.导出数据到Excel
前置条件:执行第三步后已生成带注解的JavaBean.
本功能只要使用地三步的配置注解的JavaBean就能将数据表中的数据导出。
6.从Excel导入到DB
前置条件:执行第三步后已生成带注解的JavaBean.
本功能只要使用地三步的配置注解的JavaBean就能将Excel中的数据导入到数据表中。
7.生成数据表文档
前置条件:步骤2中选择了需要生成文档的表。
本功能可以根据步骤2中选择的表进行excel文档的生成。
8.清空Beans代码目录。
本功能可以清空生成代码的文件夹,主要为了增强用户体验,让使用者方便打开Beans文件夹并对代码进行修改。
9.打开Beans代码目录
本功能可以打开生成代码的文件夹,主要为了增强用户体验,让使用者方便打开Beans文件夹并对代码进行修改。
(二)、实体类根据模版生成最终代码.
功能简介:根据实体类代码结合模版生成最终代码,代码模版规范参考模版框架velocity的规范和样例。
实现思路:加载实体类的class文件到classLoader中,读取实体类的属性和注解,将类名、属性字段名、注解三者与模版进行结合生成最终的代码。
1.配置
(1)配置模版路径,这个配置可以配置用于生成代码的velocity模版路径,生成的代码将模版中的特定符号见“模版中可使用的变量”中的描述。
(2)配置生成代码的固定文件路径,这个配置中的文件将原样拷贝到最终生成的代码中,主要适用于非文本文件如*.jpg *.jar等文件。
(3)配置引用jar路径,这个jar路径的配置是需要加载的class需要引用的jar.
(4)注入模版的Bean(*.class)路径,这个路径下需放置实体Bean的class文件。
(5)配置生成代码的根路径,这个路径即最终生成代码的路径。
(6)配置注入模板的键值,这个功能可以配置除默认注入到模版的变量之外的特殊变量,例:author=李坤,模板可用变量${author},base-package=com.tgb.lk,则模版中可使用${base-package}
(7)读取数据库中的数据用于生成代码。
本配置主要控制是否开启读取配置数据库中数据后作为模板的输入功能。开启本功能将自动将数据库中的数据转换成JavaBean并将此JavaBean作为模板变量的输入用于生成代码。
模板中可使用的通用变量:
${base-package}包名的默认变量,可在步骤(5)中进行属性值的设置,可以放到路径中,路径中使用时将把配置的点(.)转为路径分隔符(/)使用.
${beans}实体类的类名集合.
${bean}实体类类名首字母变为小写.
${bean.Lname}同${bean},实体类类名首字母变为小写.
${bean.Uname}实体类类名首字母变为大写.
${bean.ALname}实体类类名全部变为小写字母.
${bean.AUname}实体类类名全部变为大写字母.
注:${bean},${bean.Lname},${bean.Uname},${bean.ALname},${bean.AUname},${base-package}可以用于模版中也可以用于路径和文件的命名.
注解增强Bean属性,需配置@AutoBean(alias="xxx",table="xxx",args={"xxx","yyy"}):
${bean.alias}实体类注解中的alias值,如果实体类上没有配置,则默认为类名.可配置中文注释,生成代码时显示该注释.
${bean.table}实体类注解中的table值,对应数据库中的表名.
${bean.argsLength},${bean.argsSize}bean注解中的args参数数组配置的参数个数.
${bean.args[0]}bean注解中的args参数数组配置中的第一个值.
${bean.fields}实体类的字段集合,可对其进行循环.
${field}实体类属性名.
${field}实体属性首字母变为小写.
${field.Lname}同${bean},实体类属性首字母变为小写.
${field.Uname}实体类属性首字母变为大写.
${field.ALname}实体类属性全部变为小写字母.
${field.AUname}实体类属性全部变为大写字母.
注解增强Field属性,需配置 @AutoField(alias = "序号", isKey = true , isRequired = true , type="String", combo = {"男","女"},args={"xxx","yyy"})
${field.alias}实体属性注解中的alias值,默认为属性名.可配置中文注释,生成代码时显示该注释.
${field.isKey}实体属性注解中的isKey值,boolean类型,配置后可以使用${bean.key}变量.
${field.isRequired}实体属性中的isRequired属性,该属性可以配置该字段是否为必填项.
${field.type}实体类属注解中的类型,例如String,Integer...
${field.comboLength},${field.comboSize}实体属性注解中combo参数数组配置的参数个数.
${field.combo[0]}实体属性注解中combo参数数组配置中的第一个值.
${field.argsLength}}实体属性注解中的args参数数组配置的参数个数.
${field.args[0]}实体属性注解中args参数数组配置中的第一个值.
${bean.datasLength} = ${bean.datasSize}bean中读取数据表中的内容并转为类的对象,模板中可以使用.
#foreach($data in ${bean.datas})
${data.uuid},${data.name}...
#end
2.从实体类生成代码
前置条件:步骤1中的(1)中配置了可用的velocity模版,步骤1中(4)中有可用的*.class文件。
本功能用于生成代码。
3.清空代码目录
本功能可以清空生成代码的文件夹
4.打开生成代码目录
本功能可以打开生成代码的文件夹,主要为了增强用户体验,让使用者方便打开Beans文件夹并对代码进行修改。
限于本人水平有限,很多地方写的并不完美,希望大家不吝赐教.不足之处欢迎留言交流,希望在和大家的交流中得到提高.
分享到:
相关推荐
本功能可根据步骤2中选择表进行实体Beans代码的生成,生成的代码默认包含AutoBean和AutoField的注解配置(AutoBean和AutoField注解非生成代码的必须项,如果配置了可以在生成代码时时为模版注入该配置,增强模版的...
本功能可根据步骤2中选择表进行实体Beans代码的生成,生成的代码默认包含AutoBean和AutoField的注解配置(AutoBean和AutoField注解非生成代码的必须项,如果配置了可以在生成代码时时为模版注入该配置,增强模版的...
猿代码是一款基于模板的代码生成工具,以不同的模板为基础,提供简单的权限验证,结合数据库表结构,能够一键生成前端、后端代码以及功能菜单。能够快速的开发项目,减少大量重复的编码工作,提升50%~80%的开发效率...
经历了数月艰苦的开放和程序员最痛苦的测试,今天,世上最强,最完善,最稳定和测试最充分,文档最完整的旗舰版和平之翼Java通用代码生成器SMEU 3.2.0 正式版乌篷船盛装发布了。欢迎大家下载使用。 请至本项目码云...
欢迎大家使用阿QQ万能代码生成器(aqqcg),为解决广大it人员繁重的重复劳动,特此开发了此产品 不论你现在使用什么框架,都可以自制模板生成符合您框架的代码。非常实用,是个人公司的利器 本版本带有一整套程序...
MyBatisPlus自带了一个代码生成器mybatis-plus-generator,可基于数据库库表,结合模板技术,自动生成程序源码,不过默认情况下,只支持Entity、Mapper、Service、Controller这些层次。如果想生成未预置的代码,如vo...
Java通用代码生成器光2.2.0 智慧版本Beta7版,改进编译检查,模板向导功能自动匹配前端设置。前端支持图片功能,前端增加Excel,PDF,Word数据导出格式,前端增强基地址配置特性。使用时空之门前端代码生成器4.6.0 ...
动软代码生成器 V2.76版,请支持正版。 修改DAL.cmt模板文件: 1、必须增加该命名空间 using MySql.Data.MySqlClient; 2、部分的 SqlParameter 修改为 MySqlParameter 3、获取前几行数据时,修改为 limit 4、参数...
基于Freemarker模板的代码生成器前台页面的ftl模板文件
基于.net framework 2.0 的代码生成器,功能强大,操作灵活,可以生成任何一种代码文件。提供了数据源、模板、另存为、工具、数据扩展5种插件接口。 1、自定义模板。目前只有一个基础模板,是基于XML配置、字符...
标题:基于多种数据库多种开发语言插件机制模板化的代码生成器 51编程-代码器是疯狂代码器的新版本,基于多种数据库多种开发语言插件机制模板化的代码生成器。 (1)支持数据库Oracle、Ms SQL Server 、Access、...
本源码为基于Java的低代码生成器Maku-Generator设计,共包含198个文件,...该项目是一款低代码生成器,可根据自定义模板内容快速生成代码,实现项目的快速开发和上线,减少重复代码编写,开发人员只需专注于业务逻辑。
之前介绍过一款PHP的MySQL代码生成器,现在给出全系列的,供各位玩家慢慢去研究吧!...无论是个人学习还是研究,都是一款很不错的工具,尤其是能为Oracle生成高质量的代码,还提供了大量的模板和范例,值得玩味。
基于Freemarker模板的纯Java代码实现的代码生成器工具
一套基于模版的代码生成器, 可以通过模版文件, 生成任意代码
附件包含了mybatis-plus自动生成代码,基于freemarker的模板。包括常规的curd。 【特点】针对每个接口都有对应的入参和出参,不公用entity。 如,add接口,则入参会自动生成为addEntityReq。具体可下载模板进行查看...
最后来一个嵌入式的数据库:SQLite :Sqlite是一个用...无论是个人学习还是研究,都是一款很不错的工具,尤其是能为SQLite生成高质量的代码,还提供了大量的模板和范例,值得玩味。要玩就玩全系列的,个个吃透。。。
最新版java代码生成器基于springMvc+mysql 后台功能一键生成 压缩包里的jdk文件目录 请自行下载jdk1.8.0_45版本并覆盖进去 没有jdk是运行不起来的 也可以下载其他jdk版本 但是jdk1.8.0_45这个文件目录名称不要更改 ...
光之翼java通用代码生成器2.2.0 Beta4 智慧光之翼版本公布。 光之翼java通用代码生成器2.2.0 Beta4 智慧光之翼版本公布。为Swing独立版,采用光2.2.0Beta8智慧版本最新后端生成引擎,时空之门4.6.0 Beta5版最新前端...
CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本。与其他许多代码生成工具不同,CodeSmith 不要求您订阅特定的应用程序设计或体系结构。使用 CodeSmith,可以生成...