开发指南专题六:JEECG微云高速开发平台代码生成
开发指南专题六:JEECG微云高速开发平台代码生
1.1. 代码生成扫描路径配置
用代码生成器生成代码后。须要进行相关配置配置,扫描注入control、service、entity等;
具体操作过程例如以下:
1. control扫描配置,在spring-mvc.xml文件中面
2. Service扫描路径配置, spring-mvc-hibernate.xml
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
3. 实体Entity扫描路径配置, spring-mvc-hibernate.xml
1.2. 功能測试
1.2.1. 加入菜单并授权
又一次启动Tomcat,进入系统主界面->系统管理->菜单管理。点击菜单录入,加入员工管理菜单,如图44所看到的。
菜单地址内容为:类映射名.do?
方法名,如personController.do?person
菜单加入完毕之后,须要将该菜单分配给管理员角色,又一次登录系统后。能够在系统管理模块下看到子菜单【员工管理】。如图45所看到的。
1.2.3. 功能測试
点击菜单项【员工管理】。打开员工管理的主界面如图46所看到的。
点击【录入】button。在弹出的对话框中录入员工基本信息。如图47所看到的
点击确定button。对信息进行保存,此时能够在用户列表中看到新录入的信息。同一时候在数据库中也能够看到数据被保存入库,如图48所看到的。
1.3. 代码生成器使用规则
1.3.1. 建表规范
1. 表必须有唯一主键: ID(字符类型 32位)
备注: 主键採用UUID方式生成
主键支持自己定义,改动jeecg_config.properties的參数[jeecg_generate_table_id]就可以;
2. 如需使用框架自己主动生成表创建人,创建时间等。必须字段參见“表4 2建表模板”
3. 表字段必须有凝视
备注: JSP页面字段文本。是依据表字段凝视来生成
注:请依照建表模板表42来创建新表,模板表中原有的字段,生成器会过滤不在页面生成。
|
字段名 |
类型 |
长度 |
备注 |
主键 |
|
ID |
varchar |
36 |
主键 |
TURE |
|
CREATE_BY |
varchar |
36 |
创建人 |
|
|
CREATE_NAME |
varchar |
32 |
创建人名字 |
|
|
CREATE_DATE |
datetime |
0 |
创建时间 |
|
|
UPDATE_BY |
varchar |
36 |
改动人 |
|
|
UPDATE_NAME |
varchar |
32 |
改动人名字 |
|
|
UPDATE_DATE |
datetime |
0 |
改动时间 |
|
|
DELFLAG |
int |
2 |
删除标记 |
|
|
DEL_DATE |
datetime |
0 |
删除时间 |
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结尾
开发指南专题六:JEECG微云高速开发平台代码生成的更多相关文章
- 专题开发十二:JEECG微云高速开发平台-基础用户权限
专题开发十二:JEECG微云高速开发平台-基础用户权限 11.3.4自己定义button权限 Jeecg中.眼下button权限设置,是通过对平台自己封装的button标签(<t:dgFun ...
- 开发指南专题八:JEECG微云高速开发平台数据字典
开发指南专题八:JEECG微云高速开发平台数据字典的使用 1.标签中使用数据字典 数据字典为系统中可能用到的字典类型数据提供了使用的便利性和可维护性.下面拉框标签<t:dictSele ...
- 开发指南专题五:JEECG微云高速开发平台代码生成器
开发指南专题五:JEECG微云高速开发平台代码生成器 1.1. Maven开发环境搭建 在搭建jeecg的maven开发环境之前,须要先配置好本机的maven环境,并在eclipse中安装好m2ecl ...
- 开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/27068645 开发指南专题十四:J ...
- 开发指南专题十一:JEECG微云高速开发平台--基础用户权限
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/26580037 开发指南专题 ...
- 开发指南专题二:JEECG微云高速开发平台JEECG框架初探
开发指南专题二:JEECG微云高速开发平台JEECG框架初探 2.JEECG框架初探 2.1演示系统 打开浏览器输入JEECG演示环境界址:http://demo.jeecg.org:8090/能够看 ...
- 专题开发十三:JEECG微云高速开发平台-附录
专题开发十三:JEECG微云高速开发平台-附录 12.1UI库经常使用控件參考演示样例 序号 控件 解决方式 參考演示样例 1 datagrid数据列表.字段採用数据字典显示文本 <t:dgCo ...
- 开发指南专题4:JEECG高速微云开发平台--JEECG开发环境的搭建
开发指南专题4:JEECG微云高速开发平台开发环境搭建 1. JEECG开发环境搭建 JEECG推荐的开发环境为Myeclipse8.5/Eclipse3.7+JDK1.6+Tomcat6.0 1.1 ...
- Knockout应用开发指南 第六章:加载或保存JSON数据
原文:Knockout应用开发指南 第六章:加载或保存JSON数据 加载或保存JSON数据 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地 ...
随机推荐
- HTML5 input事件检测输入框变化[转载]
原文:http://www.linuxidc.com/Linux/2015-07/119984.htm 之前一直用change事件来监听输入框内容是否发生变化,只有当输入框失去焦点时才会触发,没想到h ...
- 分布式框架Dubbo入门
Dubbo简介 Dubbo是一个Alibaba开源额分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.dubbo就是个服务框架,只有在分布式的时候,才有dubb ...
- 解决mysql启动失败报1067错误
最近做项目使用 mysql 数据库 ,因为卸载了鲁大师造成了数据库文件缺失.重装mysql数据库后启动出现了1067错误,详情如下 在网上查了错误原因,将my.ini文件下的默认搜索引擎换成了 myi ...
- jquery IE6 下animate 动画的opacity无效
jquery IE6 下animate 动画的opacity无效,其实是有效的,因为IETester的一个小BUG 原生IE6 没问题...呵呵~~
- 开源代码学习之Tinyhttpd
想开始陆续研究一些感兴趣的开源代码于是先挑一个代码量短的来过渡一下,写这篇博客的目的是记录下自己学习的过程.Tinyhttpd算是一个微型的web服务器,浏览器与Web服务器之间的通信采用的是Http ...
- selenium页面元素操作(简易版)
介绍一下,这是处理页面元素的基本方法,@selenium 发送文字 element.send_keys(keys_to_send) 单击 element.click() 提交表单 el ...
- 由浅入深学习springboot中使用redis
很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 ...
- python量化之路:获取历史某一时刻沪深上市公司股票代码及上市时间
最近开始玩股票量化,由于想要做完整的股票回测,因此股票的上市和退市信息就必不可少.因为我们回测的时候必须要知道某一日期沪深股票的成分包含哪些对吧.所以我们要把沪深全部股票的上市时间.退市时间全部都爬下 ...
- httpwebrequest 用GET方法时报无法发送具有此谓词类型的内容正文
如下一段小程序,运行结果报无法发送具有此谓词类型的内容正文的错误,其实原因很简单,因为用的是GET的方式进行提交,而GetRequestStream()是用来在post提交的时候写post的内容的流, ...
- python进阶------进程线程(三)
python中的进程 1.multiprocessing模块 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进 ...