EasyCode代码生成器,超详细安装和生成模板
一、常见的模板
1.velocity,默认模板的后缀vm
2.freemarker,默认模板的后缀ftli
二、模板技术可以实现的功能
1.动态页面静态化
2.用作发送邮件、短信模板
3.代码生成器
三、代码生成器
使用了代码生成器就是先定义好模板,然后使用代码自动修改类名,有代码参照模板进行指定内容自动替换。
1.准备模板(把每个模块需要改的地方确定好)
-
确定所有模板的生成顺序
-
确定所有模板的生成位置
4.确定要生成的基本功能的domain
-
根据Domain名称与模板结合,在相应位置生成文件
-
解决如果父文件夹不存在的问题
-
解决如果文件已经存在的问题
8.排错(有错先改模板)
大概思路是这样的,如果想学习相关操作配置,我会在以后的文章中详解。今天讲的是一个插件EasyCode。
四、EasyCode
EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置。支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。
前提:你要会Velocity!!
EasyCode能做什么?
EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity(domain)、Dao、Service、Controller。如果你动手能力强还可以用于生成HTML、JS、PHP等代码。理论上来说只要是与数据有关的代码都是可以生成的。
相关信息请参考官方文档!!!
安装EasyCode
1、在线安装
File--->Settings...
2、离线安装
3、添加数据源
选择你用的数据库
输入你数据库的用户和密码
选择要操作的数据库
五、创建代码生成器模板
1、创建模板之前,要先写好一个类的各层实现。
//以domain为例
##引入宏定义
$!define
##使用宏定义设置回调(保存位置与文件后缀)
/*设置domain生成的位置
src以下的项目名/domain
.java 生成的文件类型
*/
#save("/main/java/xxx/domain", ".java")
##使用宏定义设置包后缀
//生成的类最开始引入包的名字package xxx.domain;
#setPackageSuffix("domain")
##使用全局变量实现默认包导入
$!autoImport//自动导包 好像不够自动,所以自己导公共包
import javax.persistence.*;
##使用宏定义实现类注释信息
#tableComment("实体类")//注释不管
@Entity
@Table(name="$!{tableInfo.obj.name}")
//tableInfo.obj.name获得实体类 (首字母小写)
public class $!{tableInfo.name} extends BaseDomain {
//tableInfo.name 获得实体类 (首字母大写)
#foreach($column in $tableInfo.otherColumn)
//遍历除主键的属性
#if(${column.comment})//${columnment}#end
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
//获得实体类中属性 column.name
#end
#foreach($column in $tableInfo.otherColumn)
##使用宏定义实现get,set方法
#getSetMethod($column)
#end
}
2、后序
其他层也可以这样改,具体属性代表什么,安装好easy code后,在Template Sertting下都可以查询,建议安装最新版,获得类名的大写和小写方便
2.1 save("/main/java/xxx/domain", “.java”) 设置domain生成的位置,src以下的项目名/domain ,.java 生成的文件类型
2.2 生成的类最开始引入包的名字packagexxx.domain;setPackageSuffix(“domain”)
2.3 tableInfo.obj.name获得实体类 (首字母小写)
2.4 tableInfo.name 获得实体类 (首字母大写)
2.5 #foreach($column in $tableInfo.otherColumn) #end
2.6 获得实体类中属性 column.name
体类 (首字母小写)
2.4 tableInfo.name 获得实体类 (首字母大写)
2.5 #foreach($column in $tableInfo.otherColumn) #end
2.6 获得实体类中属性 column.name
更多推荐
EasyCode代码生成器,超详细安装和生成模板
发布评论