`
roc08
  • 浏览: 224400 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

代码生成工具

阅读更多
经过一周的业余时间开发,代码生成工具增加了简单CRUD功能代码(后台及前端页面)生成,简介如下
基本思想:
通过简单配置,可实现大部分重复代码的生成,不会因追求100%功能代码生成而增加配置的复杂性,配置耗费的时间大于开发时间了,反而得不偿失。

功能:
1. key-value型字典表
          生成后台代码和前端页面,考到相应逻辑即可使用,如果字段名不变的话,几乎不用二开,如果需要额外字段,也可基于现成代码快速二开。
2.CRUD功能
          根据PO生成对应的Action、business、businessImpl:具有简单逻辑结构的,目前只是框架,待扩展功能代码
list页面:根据po将所有字段生成list页面,字段名以id结尾的自动设置为hidden,date类型字段自动格式化
edit页面:根据po将所有字段生成edit页面,目前支持textfield、numberfield、datefield、combo、hidden类型根据po中字段类型自动转换
view页面
       代码生成后需要根据页面样式增删字段,移动字段位置,添加其他后台逻辑代码

使用方法
key-value型字典表
在DictCodeProcesser类中main方法中配置并执行,具体示例见代码

2. CRUD功能
     在

包中建对应的po,po中注释用comment注解实现,然后通过CrudCodeProcesser类中的
Main方法中配置并执行。具体见示例代码



Po中的comment注释也可以起到其他作用:

1.扩展hibernate机制将po中的注释写入数据库表字段的comment中
2.写一个工具类根据po信息和注释自动生成数据库文档,每次发版运行一次,提高数据库文档可维护性

下一步
1.完善CRUD后端逻辑代码
2.加入树形字典表代码生成功能

有对这方法感兴趣的也可以看看xdoclet,这个东西更专业,但有一定的学习曲线,且配置相对复杂,个人觉得不太适合我们代码使用,改造成本高,
但功能强大,有兴趣的可以搞搞。
 
由于我们页面是基于extjs封装的自定义格式,新版本jsp页面的还在开发中有想了解实现方式和细节的可以留言留下邮箱,我整理一份实现思路和相关代码

  public static void main(String[] args) {
    ActionParser actionParser= new ActionParser();
    Generator gen = new Generator();
    gen.setAuthor("sunpf");
    gen.setDate( GeneratorUtils.getDate());
    gen.setDesc("类型");
    gen.setName("BidPackageType");
    gen.setNameLowType(gen.getName().toLowerCase());
    gen.setPath("com.gp.base");
    gen.setTable("g_c_kage_type");
    gen.setUri(GeneratorUtils.getURIName(gen.getName()));
    try {
actionParser.create(gen);
} catch (Exception e) {
e.printStackTrace();
}
}
  • 大小: 6.2 KB
  • 大小: 20.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics