Idea模版插件-easyCode

一.模板技术:

1.1简介:

velocity: 默认模板的后缀vm
freemarker: 默认模板的后缀ftl

1.2模板技术可以实现的功能:

动态页面静态化:xxx.html
在后台准备数据,在前台准备模板,通过IO把数据与模板合并,真正的生成一个html页面出来
用作发送邮件、短信模板
代码生成器(今天要完成的代码生成器)

二,代码生成器:

2.1代码生成器说明:

一个自己生成基础代码的功能,然后我们直接生成,再添加其它的功能即可!

而使用了代码生成器就是先定义好模板,然后使用代码自动修改类名,有代码参照模板进行指定内容自动替换
先用一个临时模型Dept,进行测试
注:写代码生成器前,先把项目进行备份,以免写出问题无法挽回!

2.2开发步骤:

1.准备模板(把每个模块需要改的地方确定好)
2.确定所有模板的生成顺序
3.确定所有模板的生成位置
4.确定要生成的基本功能的domain(Dept)
5.根据Domain名称与模板结合,在相应位置生成文件
6.解决如果父文件夹不存在的问题
7.解决如果文件已经存在的问题
8.排错(有错先改模板)

2.3确定顺序:

确定修改的顺序(这个顺序你根据自己的习惯决定即可)

  • 1.src/main/java/cn/itsource/pss/query/DomainQuery.java
  • 2.src/main/java/cn/itsource/pss/repository/DomainRepository.java
  • 3.src/main/java/cn/itsource/pss/service/IDomainService.java
  • 4.src/main/java/cn/itsource/pss/service/impl/DomainServiceImpl.java
  • 5.src/main/java/cn/itsource/pss/web/controller/DomainController.java
  • 6.src/main/test/cn/itsource/pss/service/DomainServiceTest.java
  • 7.src/main/webapp/js/model/domain.js
  • 8.src/main/webapp/WEB-INF/views/domain/domain.jsp

具体信息看文档

2.4解决冲突问题:

创建出来后我们运行,会发现domain.js会报错。原因是js中有很多 , ,而这些 和Velocity中的$形成了冲突,我们可以使用以下这种办法来进行解决:
domain.js修改
顶部加上:#set( D = D = ' ’ ) -> 为$显示设置一个变量
进行替换
$( -> ${D}(
$. -> ${D}.

2.5其它细节处理:

先运行看效果,如果有问题,请先进行模板文件的修改,再重新生成。直到最后功能可以成功!(记住:有错先改模板)

三.EasyCode:

它就是一个idea的插件。使用环境:IntelliJ IDEA Ultimate版(172+)

EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置。支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。
前提:你要会Velocity!!

3.2.easycode能做什么:

EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity(domain)、Dao、Service、Controller。理论上来说只要是与数据有关的代码都是可以生成的。

3.3支持的数据库类型:

因为是基于Database Tool开发,所有Database Tool支持的数据库都是支持的。
支持如下数据库:
1.MySQL
2.SQL Server
3.Oracle
4.PostgreSQL
5.Sqlite
6.Sybase
8.7.Derby
9.DB2
10.HSQLDB
11.H2

3.4.功能说明:

功能 Easy Code 其他工具
自定义模板 支持 支持
多表生成 支持 支持
生成方式 无缝集成在项目中 部分工具需要复制粘贴
附加列 支持 不支持
附加列属性 支持 不支持
动态调试模板 支持 不支持
图形化界面 支持 部分支持
使用环境 仅限IDEA 支持各种形式
在线支持 后期扩展 不支持
自定义类型映射 支持 部分支持
全局变量 支持 不支持

猜你喜欢

转载自blog.csdn.net/kls_larson/article/details/88942187