关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

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

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 9376|回复: 2

开发指南专题六:JEECG微云快速开发平台代码生成

[复制链接]
发表于 2014-5-22 22:30:48 | 显示全部楼层 |阅读模式
          开发指南专题六:JEECG微云快速开发平台代码生




1.1. 代码生成扫描路径配置

用代码生成器生成代码后,需要进行相关配置配置,扫描注入control、service、entity等;


详细操作步骤如下:

1. control扫描配置,在spring-mvc.xml文件里面


2. Service扫描路径配置, spring-mvc-hibernate.xml

3. 实体Entity扫描路径配置, spring-mvc-hibernate.xml

1.2. 功能测试

1.2.1. 添加菜单并授权

重新启动Tomcat,进入系统主界面->系统管理->菜单管理,点击菜单录入,添加员工管理菜单,如图44所示。

菜单地址内容为:类映射名.do?方法名,如personController.do?person

菜单添加完成之后,需要将该菜单分配给管理员角色,重新登录系统后,可以在系统管理模块下看到子菜单【员工管理】,如图45所示。

1.2.3. 功能测试

点击菜单项【员工管理】,打开员工管理的主界面如图46所示。

点击【录入】按钮,在弹出的对话框中录入员工基本信息,如图47所示

1.3. 代码生成器使用规则

1.3.1. 建表规范


1. 表必须有唯一主键: ID(字符类型 32位)

备注: 主键采用UUID方式生成

主键支持自定义,修改jeecg_config.properties的参数[jeecg_generate_table_id]即可;

2. 如需使用框架自动生成表创建人,创建时间等,必须字段参见“表4 2建表模板”


3. 表字段必须有注释

备注: JSP页面字段文本,是根据表字段注释来生成

注:请按照建表模板表42来创建新表,模板表中原有的字段,生成器会过滤不在页面生成。
QQ截图20140522223115.png
1.3.2. 页面生成规则

说明:JSP页面字段的文本内容,取表字段的注释前6位字符(如果建表字段注释为空,则页面字段文本会为空)

A.默认生成的JSP页面前五个字段为必须项,其他字段为非必须输入(需要自己手工加)

B.数据库字段类型为:datetime -->对应页面字段,会自动追加[年月日-时分秒]时间控件

C.数据库字段类型为:date -->对应页面会字段,自动追加[年月日]时间控件

D.数据库字段类型为:Int/Number-->对应页面字段,会自动追加数字校验(不允许输入小数)

E.数据库字段类型为:float/double/decimal-->对应页面页面字段,会自动追加数字校验(允许输入小数)

F.如果表字段为字符类型,并且设置了长度,页面输入框会自动设置maxlength对应表字段长度

1.4. 一对多的代码生成

1.4.1. 一对多代码生成器使用

单表的代码生成器入口类是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);



1.5. 使用规范

1. 目前代码生成器默认的主键生成策略为UUID

2. 主表和子表的目录最好保持一致

3. 子表和主表的外键规则如下:

a) 主表和子表的外键字段名字,必须相同(除主键ID外)

子表引用主表主键ID作为外键,外键字段必须以_ID结尾
发表于 2017-7-10 15:30:42 | 显示全部楼层
为什么我按照图上来进行设置但是还是找不到类呢控制台报错,页面显示404
发表于 2017-7-24 11:43:58 | 显示全部楼层


为什么我按照上面配置,控制台不报错却出现这个呢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表