Ling-cloud-builder

来自ling
跳转至: 导航搜索

auto codeing 工业标准 模板代码备份 让Hibernate生成的DDL脚本自动增加注释

todo

  • 新增,修改,删除后的query没有带上查询条件中的内容,一对多的时候的默认主键也没有带上
  • mongodb的嵌入文档不支持条件查询,只能取主后得到全部的嵌入集合

模板列表

方案列表

自动生成代码

自己编写model

从数据库表到model

通过intellijj的插件生成model

INTELLJJ TABLE JPA00.PNG

INTELLJJ TABLE JPA01.PNG

通过Ling-cloud-builder生成model

http://docs.jboss.org/tools/latest/en/hibernatetools/html/reverseengineering.html#d0e5260

生成dao, service ,controller,view

  • 在biz项目中添加模块引用
        <dependency>
            <groupId>com.ling</groupId>
            <artifactId>ling-cloud-builder-core</artifactId>
            <version>3.0-SNAPSHOT</version>
            <scope>test</scope>
        </dependency>
  • scope为test表示打包发布不需要此jar包.更多参考MAVEN Scope使用
  • 在biz项目的src/test/java中添加相关自动生成代码,setSystem和setModule一般为模块名称的小写
    public static void main(String[] args) {
        String rootPath = "C:\\workspace\\source\\tax-cor\\tax-cor-biz\\src\\main\\java";
        execCorCaseFeatures(rootPath);
        execCorCaseFeaturesView(rootPath);
    }

    private static void execCorCaseFeatures(String rootPath) {
        OneToManyPojo oneToManyPojo = new OneToManyPojo();
        oneToManyPojo.setSystem("cor");
        oneToManyPojo.setModule("cor");
        oneToManyPojo.setOne(CorCaseFeatures.class);
        oneToManyPojo.addOne(CorCaseEmail.class);
        oneToManyPojo.addOne(CorCase.class);
        AutoProjectUtils.executeServerFile(rootPath, oneToManyPojo, true);
    }

    private static void execCorCaseFeaturesView(String rootPath) {
        OneToManyPojo oneToManyPojo = new OneToManyPojo();
        oneToManyPojo.setSystem("cor");
        oneToManyPojo.setModule("cor");
        oneToManyPojo.setOne(CorCaseFeatures.class);
        oneToManyPojo.addOne(CorCaseEmail.class);
        oneToManyPojo.addOne(CorCase.class);
        AutoProjectUtils.executeAntdFile(oneToManyPojo, rootPath);
    }

自定义代码和编码规范

  • 前端api和controller方法命名规范[编辑]
  • 前端CorCaseEmailService.js==CorCaseEmailController.Java==@RequestMapping("/corCaseEmail")
  • 前端api方法==后端controller方法==restful方法
  • 自定义代码都在子类上进行,base的类在自动代码再次生成是会被覆盖