jeecg_scott 发表于 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>(); //.子表一 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); //.子表二 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结尾

smhsydjs 发表于 2013-5-27 10:20:05

学习中。。

hipilee 发表于 2019-9-4 18:33:47

你好!我有个问题是,现在在jeecg-boot的案例中有一对多示例和一对多TAB示例。通过代码自动生成可以生成一对多TAB的示例么?

hipilee 发表于 2019-9-7 10:21:40

就是,代码生成的时候。数据库是bigint类型,为什么在entity里面对应生成的类型是java.lang.Ineger,而不是java.lang.Long
页: [1]
查看完整版本: 技术文档:代码生成器一对多使用