最近准备做个项目,在配置项目环境的时候,使用Easycode插件生成entity,controller,service,dao,mapper,前面只是单纯地介绍了Easycode插件的集成,但由于使用的是Easycode插件默认的模板,导致最终生成的文件与自己想要的效果有所差别。
所以花了一下午的时间研究如何自定义模板,最终设计出了一套比较完整的模板。
数据类型映射
首先打开idea——Settings——OtherSettings——EasyCode
如图所示,Type Mapper是数据类型映射,简单点来说就是数据库的字段的类型与实体类属性的类型相对应,基本上都默认的对应规则,这其实没什么好说的,如果生成实体类的时候提示某个属性没有找到对应的数据类型,就照猫画虎添加上去就行了。
自定义模板
实体类entity.java
首先,这里使用lombok插件来代替Getter、Setter方法;按照模板默认的生成也可以。(复制粘贴替换默认的就行)
1 ##引入宏定义 2 $!define 3 4 ##使用宏定义设置回调(保存位置与文件后缀) 5 #save("/entity", ".java") 6 7 ##使用宏定义设置包后缀 8 #setPackageSuffix("entity") 9 10 ##使用全局变量实现默认包导入 11 $!autoImport 12 import java.io.Serializable; 13 import lombok.Data; 14 ## 15 ####使用宏定义实现类注释信息 16 ###tableComment("实体类") 17 @Data 18 public class $!{tableInfo.name} implements Serializable { 19 private static final long serialVersionUID = $!tool.serial(); 20 #foreach($column in $tableInfo.fullColumn) 21 #if(${column.comment})/** 22 * ${column.comment} 23 */ 24 #end 25 26 private $!{tool.getClsNameByFullName($column.type)} $!{column.name}; 27 ## private $!{tool.getClsNameByFullName($column.type)} $!{tool.firstUpperCase($column.name)}; 28 #end 29 30 31 ##若没有使用lombok插件,该段不要注释,按照默认的模板 32 ###foreach($column in $tableInfo.fullColumn) 33 ####使用宏定义实现get,set方法 34 ###getSetMethod($column) 35 ###end 36 37 }