2023年6月21日发(作者:)

Jeecg框架介绍

1 JEECG 宗旨

简单功能由代码生成器生成使用; 复杂业务采用表单自定义,业务流程使

用工作流来实现、扩展出任务接口,供开发编写业务逻辑。 实现了流程任务节点和任务接口的灵活配置,既保证了公司流程的保密行,又减少了开发人员的工作量。

2 JEECG 基础架构

JEECG采用SpringMVC+Hibernate4+UI快速开发库+Spring

JDBC+Jquery+Ehcache作为基础架构,采用面向声明的开发模式, 基于泛型方式编写极少代码即可实现复杂的数据展示、 数据编辑、 表单处理等功能,再配合代码生成器的使用将 JavaEE 的开发效率提高6倍以上,可以将代码减少60%以上。

3 JEECG设计思想 :

零配置( 约定大于配置)

4 JEECG平台优势

采用主流开源技术框架,容易上手; 代码生成器依赖性低,很方便的扩展能力,可完全实现二次开发;

开发效率很高,代码生成器支持多种数据模型:单表数据模型、单表自关联模型和一对多(父子表)数据模型,代码生成功能直接使用;

查询 SQL 过滤器,后台不需要写代码,页面追加查询字段,查询功能自动实现;

页面校验自动生成(必须输入、数字校验、金额校验、时间控件等);

基础的用户权限:菜单,按钮权限,角色;

常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel 导出等),基本满足 80%项目需求;

集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成 pdf、

excel、word 等报表;

集成工作流引擎 Activiti5,并实现了只需在页面配置流程转向,可极大的简化工作流的开发;用 Activiti5 的流程设计器画出流程走向,一个工作流基本就完成了,只需进行流程的配置或者写很少量的 java 代码

5 JEECG技术特点

四大技术特点:代码生成器 ;UI标签组件;在线流程设计;系统日志记录。

5.1 代码生成器

支持多种数据模型,根据表生成对应的Entity,Service,Dao,Controller,JSP 等,增删改查功能生成直接使用。

代码生成器特点:

A. 前台页面字段对应数据库字段生成;

B. 页面字段校验 自动生成(数字类型必须项金额类型时间控件邮箱手机号QQ 号等等);

C. 支持 Oracle/Mysql/ Postgres 数据库

5.2 UI标签组件

针对 WEB UI 进行标准封装,页面统一采用 UI 标签实现功能:数据datagrid,表单校验,Popup,Tab 等,实现 JSP 页面零 JS,开发维护非常高效 5.3 表单Form校验组件

前台页面字段校验采用 Validform 表单检验组件,支持手机号码、邮箱帐号、IP 地址等常用的数值验证及字长验证

5.4 常用共通封装

数据字典/ 邮件发送/ 定时任务/短信接口/Freemarker模板工具/Jquery

5.5 基础用户权限

权限功能:用户、角色、权限(菜单权限+按钮权限+简单数据权限)

5.6 Ehcache缓存机制

Ehcache 缓存自定义标签(永久缓存/临时缓存)

5.7 报表封装

Excel 简易导出工具类+JasperReport报表

5.8 MiniDao+Hibernate+SpringJDbc数据持久层

O/R mapping 不用设置 xml,零配置便于维护

不需要了解 JDBC 的知识

SQL 语句和 java 代码的分离

可以自动生成 SQL 语句

接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过 AOP 自动生成实现类

支持自动事务处理和手动事务处理

支持与 hibernate 轻量级无缝集成

MiniDao 吸收了 Hibernate+mybatis 的优势,支持实体维护和 SQL 分离 SQL 支持脚本语言

5.9 安全的事务回滚机制

安全的数据乐观锁机制

5.10 在线流程设计

在线流程定义,采用开源 Activiti 流程引擎,实现在线画流程,自定义表单,表单挂接,业务流转,流程监控,流程跟踪,流程委托等

5.11 系统日志记录

系统操作日志详细记录,帮助运维人员进行系统分析和故障排查。

6 JEECG注意规则

1. 列表页面,datagrid 的 name属性不允许存在重复的,否则页面显示白板:

2. 表单验证采用Jquery表单验证插件–Validform

3. 时间控件采用my97,不要使用 easyui 的时间控件,因为加载效率慢流程配置表单后,业务申请必须重新创建

4. jsp 代码注释规范,采用隐式注释不能用显式注释,不然标签还是能读到 :

隐式注释:<%-- --%>

显式注释:

5. 表单布局两种风格: .请使用div风格。

6. Oracle数据库建表规范

字段名字大小写有区别,请注意

7. 菜单采用 frame 方式打开方法

8. 页面组件 ID 命名规范

A. dategrid组件name

B. 组合查询 DIV

C. 查询按钮对应的js方法

查询

7 项目编码规范

7.1 项目编码规范

1. 项目编码格式为 UTF-8(包括:java,jsp,css,js)

2. sevice 接口命名:*ServiceI

service 实现命名:*ServiceImpl

entity 命名:*Entity

page页面form命名:*Page

action 命名:*Controller

项目没有 DAO, SQL 写在 Service 层

代码层次目录按照自动生成目录

3. SQL 文件目录和命名规范

(1).所有 SQL 必须大写,不允许用*,全部替换为字段

(2).SQL 文件根目录为:sql 跟接口目录 Service 是一个目录;

例如:srcsunsql,子目录跟 dao 必须保持一致

(3).SQL 文件命名:[dao 名字]_[dao方法名字].sql

4. 数据库表设计规范

(1).主键字段为 id (2).每个字段必须加备注

5. action 中的方法

配置菜单的方法:以 go 开头(其他方法不允许以 go 开头)

触发业务逻辑的方法:以 do 开头

页面跳转的:以 to 开头

6. Entity 和数据库自定命名规范

采用驼峰写法(每个单词首字母大写、其他字母小写的写法)转成中画线写法(所有字母小写,单词与单词之间以中画线隔开)

7.2 详细说明

[1].SQL 层讲解

A. 项目没有 DAO SQL 写在 Service 层,数据库取数和 DB 操作通过 service 层来实现

B.如果使用硬代码SQL,一个方法对应一个 SQL 的话,可以采用框架封装的方式来存储SQL文件

(表示采用命名规范来存储 SQL)

7.3 存储方式:

(1).所有 SQL 必须小写,不允许用*,全部替换为字段

(2).SQL 文件根目录为:srcsunsql,子目录跟 service 必须保持一致

(3).SQL 文件命名:[service 名字]_[方法名字].sql 读取方式:Stringsql =

hodSql(hodUrl());

7.4 举例讲解命名规范

例如:表名:jeecg_sys_demo

第一部分:代码文件命名规则如下:

首先: 表名采用驼峰写法转换为 Java 代码使用单词

jeecg_sys_demo => JeecgSysDemo

[1].control 命名 :

JeecgSysDemoControl

[2].Servlice命名:

JeecgSysDemoServiceI/JeecgSysDemoServiceImpl

[3].JSP 命名:

jeecg_sys_(表单页面)

jeecg_sys_demo_(列表页面)

jeecg_sys_demo_*.jsp(新增表单页面例如:detail)

[4].control 中方法命名:

页面触发业务方法以 do*开头

页面跳转方法以 go*开头

(方法标签注释需和方法名保持一致)

[5].page/entity 字段定义必须是对象类型

int --> Integer

2023年6月21日发(作者:)

Jeecg框架介绍

1 JEECG 宗旨

简单功能由代码生成器生成使用; 复杂业务采用表单自定义,业务流程使

用工作流来实现、扩展出任务接口,供开发编写业务逻辑。 实现了流程任务节点和任务接口的灵活配置,既保证了公司流程的保密行,又减少了开发人员的工作量。

2 JEECG 基础架构

JEECG采用SpringMVC+Hibernate4+UI快速开发库+Spring

JDBC+Jquery+Ehcache作为基础架构,采用面向声明的开发模式, 基于泛型方式编写极少代码即可实现复杂的数据展示、 数据编辑、 表单处理等功能,再配合代码生成器的使用将 JavaEE 的开发效率提高6倍以上,可以将代码减少60%以上。

3 JEECG设计思想 :

零配置( 约定大于配置)

4 JEECG平台优势

采用主流开源技术框架,容易上手; 代码生成器依赖性低,很方便的扩展能力,可完全实现二次开发;

开发效率很高,代码生成器支持多种数据模型:单表数据模型、单表自关联模型和一对多(父子表)数据模型,代码生成功能直接使用;

查询 SQL 过滤器,后台不需要写代码,页面追加查询字段,查询功能自动实现;

页面校验自动生成(必须输入、数字校验、金额校验、时间控件等);

基础的用户权限:菜单,按钮权限,角色;

常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel 导出等),基本满足 80%项目需求;

集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成 pdf、

excel、word 等报表;

集成工作流引擎 Activiti5,并实现了只需在页面配置流程转向,可极大的简化工作流的开发;用 Activiti5 的流程设计器画出流程走向,一个工作流基本就完成了,只需进行流程的配置或者写很少量的 java 代码

5 JEECG技术特点

四大技术特点:代码生成器 ;UI标签组件;在线流程设计;系统日志记录。

5.1 代码生成器

支持多种数据模型,根据表生成对应的Entity,Service,Dao,Controller,JSP 等,增删改查功能生成直接使用。

代码生成器特点:

A. 前台页面字段对应数据库字段生成;

B. 页面字段校验 自动生成(数字类型必须项金额类型时间控件邮箱手机号QQ 号等等);

C. 支持 Oracle/Mysql/ Postgres 数据库

5.2 UI标签组件

针对 WEB UI 进行标准封装,页面统一采用 UI 标签实现功能:数据datagrid,表单校验,Popup,Tab 等,实现 JSP 页面零 JS,开发维护非常高效 5.3 表单Form校验组件

前台页面字段校验采用 Validform 表单检验组件,支持手机号码、邮箱帐号、IP 地址等常用的数值验证及字长验证

5.4 常用共通封装

数据字典/ 邮件发送/ 定时任务/短信接口/Freemarker模板工具/Jquery

5.5 基础用户权限

权限功能:用户、角色、权限(菜单权限+按钮权限+简单数据权限)

5.6 Ehcache缓存机制

Ehcache 缓存自定义标签(永久缓存/临时缓存)

5.7 报表封装

Excel 简易导出工具类+JasperReport报表

5.8 MiniDao+Hibernate+SpringJDbc数据持久层

O/R mapping 不用设置 xml,零配置便于维护

不需要了解 JDBC 的知识

SQL 语句和 java 代码的分离

可以自动生成 SQL 语句

接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过 AOP 自动生成实现类

支持自动事务处理和手动事务处理

支持与 hibernate 轻量级无缝集成

MiniDao 吸收了 Hibernate+mybatis 的优势,支持实体维护和 SQL 分离 SQL 支持脚本语言

5.9 安全的事务回滚机制

安全的数据乐观锁机制

5.10 在线流程设计

在线流程定义,采用开源 Activiti 流程引擎,实现在线画流程,自定义表单,表单挂接,业务流转,流程监控,流程跟踪,流程委托等

5.11 系统日志记录

系统操作日志详细记录,帮助运维人员进行系统分析和故障排查。

6 JEECG注意规则

1. 列表页面,datagrid 的 name属性不允许存在重复的,否则页面显示白板:

2. 表单验证采用Jquery表单验证插件–Validform

3. 时间控件采用my97,不要使用 easyui 的时间控件,因为加载效率慢流程配置表单后,业务申请必须重新创建

4. jsp 代码注释规范,采用隐式注释不能用显式注释,不然标签还是能读到 :

隐式注释:<%-- --%>

显式注释:

5. 表单布局两种风格: .请使用div风格。

6. Oracle数据库建表规范

字段名字大小写有区别,请注意

7. 菜单采用 frame 方式打开方法

8. 页面组件 ID 命名规范

A. dategrid组件name

B. 组合查询 DIV

C. 查询按钮对应的js方法

查询

7 项目编码规范

7.1 项目编码规范

1. 项目编码格式为 UTF-8(包括:java,jsp,css,js)

2. sevice 接口命名:*ServiceI

service 实现命名:*ServiceImpl

entity 命名:*Entity

page页面form命名:*Page

action 命名:*Controller

项目没有 DAO, SQL 写在 Service 层

代码层次目录按照自动生成目录

3. SQL 文件目录和命名规范

(1).所有 SQL 必须大写,不允许用*,全部替换为字段

(2).SQL 文件根目录为:sql 跟接口目录 Service 是一个目录;

例如:srcsunsql,子目录跟 dao 必须保持一致

(3).SQL 文件命名:[dao 名字]_[dao方法名字].sql

4. 数据库表设计规范

(1).主键字段为 id (2).每个字段必须加备注

5. action 中的方法

配置菜单的方法:以 go 开头(其他方法不允许以 go 开头)

触发业务逻辑的方法:以 do 开头

页面跳转的:以 to 开头

6. Entity 和数据库自定命名规范

采用驼峰写法(每个单词首字母大写、其他字母小写的写法)转成中画线写法(所有字母小写,单词与单词之间以中画线隔开)

7.2 详细说明

[1].SQL 层讲解

A. 项目没有 DAO SQL 写在 Service 层,数据库取数和 DB 操作通过 service 层来实现

B.如果使用硬代码SQL,一个方法对应一个 SQL 的话,可以采用框架封装的方式来存储SQL文件

(表示采用命名规范来存储 SQL)

7.3 存储方式:

(1).所有 SQL 必须小写,不允许用*,全部替换为字段

(2).SQL 文件根目录为:srcsunsql,子目录跟 service 必须保持一致

(3).SQL 文件命名:[service 名字]_[方法名字].sql 读取方式:Stringsql =

hodSql(hodUrl());

7.4 举例讲解命名规范

例如:表名:jeecg_sys_demo

第一部分:代码文件命名规则如下:

首先: 表名采用驼峰写法转换为 Java 代码使用单词

jeecg_sys_demo => JeecgSysDemo

[1].control 命名 :

JeecgSysDemoControl

[2].Servlice命名:

JeecgSysDemoServiceI/JeecgSysDemoServiceImpl

[3].JSP 命名:

jeecg_sys_(表单页面)

jeecg_sys_demo_(列表页面)

jeecg_sys_demo_*.jsp(新增表单页面例如:detail)

[4].control 中方法命名:

页面触发业务方法以 do*开头

页面跳转方法以 go*开头

(方法标签注释需和方法名保持一致)

[5].page/entity 字段定义必须是对象类型

int --> Integer