目录1. 前言........................................................................................................................................3
1.1. 技术背景.........................................................................................................................3
1.2. 平台介绍.........................................................................................................................3
1.3. 平台优势.........................................................................................................................3
1.4. 平台架构.........................................................................................................................4
2. JEECG 框架初探.................................................................................................................... 5
2.1. 演示系统.........................................................................................................................5
2.2. 示例代码.........................................................................................................................7
3. JEECG 开发环境搭建............................................................................................................. 8
3.1. JAVA 环境配置................................................................................................................9
3.2. 开发环境搭建.................................................................................................................9
3.2.1. 项目导入开发环境..................................................................................................9
3.2.2. 数据库初始化........................................................................................................12
3.2.3. 项目数据源配置....................................................................................................13
3.2.4. 项目启动测试........................................................................................................14
4. 代码生成器..........................................................................................................................14
4.1. 数据表创建...................................................................................................................14
4.2. 代码生成器配置...........................................................................................................15
4.3. 代码生成.......................................................................................................................15
4.4. 功能测试.......................................................................................................................17
4.4.1. 添加菜单并授权....................................................................................................17
4.4.2. 功能测试................................................................................................................18
4.5. 代码生成器使用规则...................................................................................................19
4.5.1. 建表规范................................................................................................................19
4.5.2. 页面生成规则........................................................................................................19
5. 查询HQL 过滤器................................................................................................................ 20
5.1. 数据过滤现状分析.......................................................................................................20
5.2. 查询条件SQL 生成器............................................................................................... 20
7.3. 目前系统设计...............................................................................................................35
5.2.1. 实现原理................................................................................................................20
5.2.2. 查询规则................................................................................................................20
5.2.3. 具体实现................................................................................................................21
6. 表单校验组件ValidForm...................................................................................................21
6.1. Validform 使用入门......................................................................................................21
6.2. 绑定附加属性...............................................................................................................22
6.3. 初始化参数说明...........................................................................................................25
6.4. Validform 对象[方法支持链式调用]...........................................................................28
6.5. 调用外部插件...............................................................................................................33
6.6. Validform 的公用对象..................................................................................................34
7. 基础用户权限......................................................................................................................34
7.1. 权限设计.......................................................................................................................34
7.2. 权限设计目标...............................................................................................................35
7.3.1. 数据表....................................................................................................................35
7.3.2. 页面菜单................................................................................................................35
8. JEECG 注意规则................................................................................................................... 36
9. 项目编码规范......................................................................................................................36
9.1. 项目编码规范...............................................................................................................37
9.2. 详细说明.......................................................................................................................37
10. JEECG 目录结构.................................................................................................................37
10.1. 配置文件目录结构.....................................................................................................38
10.2. Java 源码目录结构.....................................................................................................38
10.3. 单元测试代码结构.....................................................................................................38
10.4. JSP 页面目录结构...................................................................................................... 39
11. 附录....................................................................................................................................39
11.1. UI 库常用控件参考示例............................................................................................ 39
11.2. 开发技巧:采用IFrame 打开页面.......................................................................... 41
11.3. 开发技巧:组合查询实现方法.................................................................................41
1. 前言
1.1. 技术背景
随着 WEB UI 框架(EasyUI/Jquery UI/Ext/DWZ)等的逐渐成熟,系统界面逐渐实现统一
化,代码生成器也可以生成统一规范的界面!
代码生成+手工 MERGE 半智能开发将是新的趋势,生成的代码可节省 50%工作量,快速
提高开发效率!
1.2. 平台介绍
JEECG
[J2EE
Code
Generation] 是一款基于代码生成器的智能开发平台,采用
代码生成+手工 MERGE 半智能开发模式, 可以帮助解决 Java 项目 60%的重复工作,让开发
更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失扩展性和
灵活性。
JEECG 宗旨:简单功能由代码生成器生成使用; 复杂业务采用表单自定义,业务流程
使用工作流来实现、扩展出任务接口,供开发编写业务逻辑。 实现了流程任务节点和任务
接口的灵活配置,既保证了公司流程的保密行,又减少了开发人员的工作量。
JEECG
V3.0 版本推翻原有 SSH2 架构,采用 SpringMVC+Hibernate+UI 快速开发库作为
基础架构,采用面向声明的开发模式,基于泛型方式编写极少代码即可实现复杂的数据展示、
数据编辑、表单处理等功能,再配合代码生成器的使用将 JavaEE 的开发效率提高 6 倍以上,
可以将代码减少 60%以上。
JEECG V3.0 版本四大技术点: 1.代码生成器 2.UI 快速开发库 3.在线流程设计 4.系统
日志记录。
代码生成器:支持多种数据模型,根据表生成对应的
Entity,Service,Dao,Controller,
JSP 等,增删改查功能生成直接使用
UI 快速开发库:针对 WEB UI 进行标准封装,页面统一采用 UI 标签实现功能:
数据 datagrid,表单校验,Popup,Tab 等,实现 JSP 页面零 JS,开发维护非常高效
在线流程设计:在线流程定义,采用开源 Activiti 流程引擎,实现在线画流程,
自定义表单,表单挂接,业务流转,流程监控,流程跟踪,流程委托等
系统日志记录:系统操作日志详细记录,帮助运维人员进行系统分析和故障
排查。
V3 版本特性
JEECG V3.0,经过了专业压力测试,性能测试,保证后台数据的准确性和页面
访问速度
支持多种浏览器: IE, 火狐, Google 等浏览器访问速度都很快
支持数据库: Mysql,Oracle10g 等
基础权限: 用户,角色,菜单权限,按钮权限,数据权限
智能报表集成: 简易的图像报表工具和 Excel 导入导出
Web 容器测试通过的有 Jetty 和 Tomcat6
待推出功能:分布式部署,云计算,移动平台开发,规则引擎,代码生成器
(eclipse 插件)
要求 JDK1.6+
1.3. 平台优势
采用主流开源技术框架,容易上手; 代码生成器依赖性低,很方便的扩展能力,
可完全实现二次开发;
开发效率很高,代码生成器支持多种数据模型:单表数据模型、单表自关联模
型和一对多(父子表)数据模型,代码生成功能直接使用;
查询 SQL 过滤器,后台不需要写代码,页面追加查询字段,查询功能自动实
现
页面校验自动生成(必须输入、数字校验、金额校验、时间控件等);
基础的用户权限:菜单,按钮权限,角色
常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel 导出等),基本
满足 80%项目需求
集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成 pdf、
excel、word 等报表;
集成工作流引擎 Activiti5,并实现了只需在页面配置流程转向,可极大的简
化工作流的开发;用 Activiti5 的流程设计器画出流程走向,一个工作流基本就完
成了,只需进行流程的配置或者写很少量的 java 代码
1.4. 平台架构
架构技术: Spring
MVC+Hibernate4+UI 快速开发库+Spring JDBC+Highcharts 图形
报表+Jquery+Ehcache。
设计思想:
零配置( 约定大于配置)
各技术点说明
[1] 代码生成器
代码生成器用于生成规范的后台代码+统一风格的前台页面+表单校验。
单表模型,单表自关联模型和一对多(父子表)数据模型,增删改查功能生成直接使用;
特点:
A.前台页面字段对应数据库字段生成;
B. 页面字段校验自动生成(数字类型\必须项\金额类型\时间控件\邮箱\手机号\QQ
号等等);
C.支持 Oracle/Mysql/Postgres 数据库
注意:代码生成包括 JSP 页面生成,代码无需修改,增删改查功能直接配置使用
[2].查询条件过滤器
页面加查询条件,后台不需要写任何逻辑判断,动态拼 HQL 追加查询条件
[3].UI 快速开发库
UI 快速开发库,针对 WEB UI 进行标准封装,页面统一采用 UI 标签实现功能:数据
datagrid,表单校验,Popup,Tab 等,实现 JSP 页面零 JS,开发维护非常高效
[4].智能工作流
在线流程定义,采用开源 Activiti 流程引擎,实现在线画流程,自定义表单,表单挂接,业
务流转,流程监控,流程跟踪,流程委托等
[5].表单 Form 校验组件
前台页面字段校验采用 Validform 表单检验组件
[6].常用共通封装
数据字典/ 邮件发送/ 定时任务/短信接口/Freemarker 模板工具/Jquery
[7].基础用户权限
权限功能:用户、角色、权限(菜单权限+按钮权限)
[8].Ehcache 缓存机制
Ehcache 缓存自定义标签(永久缓存/临时缓存)
[9].报表封装
Excel 简易导出工具类+Highcharts 图形报表
[10].Hibernate+Spring jdbc 组合使用
Hibernate+Spring jdbc 组合使用(单表操作使用 Hibernate;复杂 SQL 采用 SQL),
(1)
SQL 设计方案:DB SQL 抽离出 Java 代码,采用命名规范根据类名和方法名创建 SQL
文件,存储 SQL;
(2) 程序自动读取 SQL;
(3)
SQL 读取模式:开发模式和发布模式[SQL 加载内存]。
[11].安全的事务回滚机制+安全的数据乐观锁机制
[12].系统日志记录,便于问题追踪
2.
JEECG 框架初探
2.1. 演示系统
打开浏览器,输入 JEECG 演示环境地址:http://demo.jeecg.org:8080,可以看到如
图 2- 1 所示的登录界面。
图 2- 1 演示系统登录界面
点击【登陆】按钮,进入演示系统的主界面,如图 2- 2 所示。
在 JEECG 演示系统中的功能模块包括系统管理、流程管理、业务申请、业务办理、常用
功能演示等。其中,用户管理、流程设计器的界面截图如图 2- 3 和图 2- 4 所示。
图 2- 2 演示系统主界面
图 2- 3 用户管理界面
2.2. 示例代码
图 2- 4 流程设计器
用户管理中的用户列表和用户维护所用的 jsp 页面代码分别如图 2- 5 和图 2- 6 所
示。
图 2- 5 列表页面代码
3. JEECG 开发环境搭建
图 2- 6 用户管理页面代码