设为首页收藏本站

JEECG官方网站-企业级JAVA快速开发平台

 找回密码
 立即注册

关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 最新动态 - 技术支持 - 师徒架构班

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务 QQ: 3102411850、418799587 商务热线: 18611788525 客服电话: 010-64808099 官方邮箱: jeecgos@163.com

查看: 5603|回复: 3

技术文档:代码生成器一对多使用

[复制链接]

156

主题

55

好友

4万

积分

论坛元老

Rank: 10Rank: 10Rank: 10

热心会员 推广达人 宣传达人 突出贡献 优秀版主 荣誉管理 JEECG团队成员

发表于 2013-5-27 09:31:38 |显示全部楼层

    代码生成器工具类:
    单表:test.JeecgOneGUI
    一对多:test.JeecgOneToMainUtil



    一对多代码生成器说明:

    //第一步:设置主表
    CodeParamEntity codeParamEntityIn = new CodeParamEntity();
    codeParamEntityIn.setTableName("jeecg_order_main");//主表[表名]
    codeParamEntityIn.setEntityName("Demo4ManyKey");         //主表[实体名]
    codeParamEntityIn.setEntityPackage("jeecg");         //主表[包名]
    codeParamEntityIn.setFtlDescription("订单主数据");         //主表[描述]

    //第二步:设置子表集合
    List<SubTableEntity> subTabParamIn = new ArrayList<SubTableEntity>();
    //[1].子表一
    SubTableEntity po = new SubTableEntity();
    po.setTableName("jeecg_order_custom");                              //子表[表名]
    po.setEntityName("DemoMany4CustomKey");                        //子表[实体名]
    po.setEntityPackage("jeecg");                         //子表[包]
    po.setFtlDescription("订单客户明细");                 //子表[描述]
    po.setForeignKeys(new String[]{"GORDER_OBID","GO_ORDER_CODE"});//子表[外键:与主表关联外键]
    subTabParamIn.add(po);
    //[2].子表二
    SubTableEntity po2 = new SubTableEntity();
    po2.setTableName("jeecg_order_product");                                               //子表[表名]
    po2.setEntityName("DemoMany4ProductKey");                                       //子表[实体名]
    po2.setEntityPackage("jeecg");                                         //子表[包]
    po2.setFtlDescription("订单产品明细");                                //子表[描述]
    po2.setForeignKeys(new String[]{"GORDER_OBID","GO_ORDER_CODE"});//子表[外键:与主表关联外键]
    subTabParamIn.add(po2);
    codeParamEntityIn.setSubTabParam(subTabParamIn);

    //第三步:一对多(父子表)数据模型,代码生成
    CodeGenerateOneToMany.oneToManyCreate(subTabParamIn, codeParamEntityIn);





    技术点说明:
  • 目前代码生成器默认的主键生成策略为UUID
  • 主表和子表的目录最好保持一致
  • 子表和主表的外键规则如下:
    a.主表和子表的外键字段名字,必须相同(除主键ID外)        
    b.子表引用主表主键ID作为外键,外键字段必须以_ID结尾


0

主题

0

好友

24

积分

新手上路

Rank: 2

发表于 2013-5-27 10:20:05 |显示全部楼层
学习中。。
回复

使用道具 举报

2

主题

1

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2019-9-4 18:33:47 |显示全部楼层
你好!我有个问题是,现在在jeecg-boot的案例中有一对多示例和一对多TAB示例。通过代码自动生成可以生成一对多TAB的示例么?
回复

使用道具 举报

2

主题

1

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2019-9-7 10:21:40 |显示全部楼层
就是,代码生成的时候。数据库是bigint类型,为什么在entity里面对应生成的类型是java.lang.Ineger,而不是java.lang.Long
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|JEECG技术论坛 - 基于BPM的JAVA快速开发平台 ( 京ICP备12013567号-3 )  

GMT+8, 2019-9-19 14:32 , Processed in 1.216802 second(s), 25 queries , Gzip On.

JEECG Open Source

© 2001-2012 Comsenz Inc.

回顶部