联系人:王先生
手机:13651070328
QQ:29803446
Email:[email protected]
说明:因上传图片不方便,需要本文文档的请联系我或者从csdn中下载我上传的文件OpenJWeb_v1_6_代码生成器.PDF
目 录
OpenJWeb V1.6采用的主框架为Struts2+Spring+Hibernate+Spring Security,后台管理页面可使用平台的代码生成器来生成。在平台中定义好一个数据库表结构后,可生成对应的数据库表,Java实体类代码,Hibernate配置文件,struts2的action配置,编辑页面和列表页面、Struts2 Action类等,并在线调用ant进行编译。
子系统对应的数据库表为comm_sub_system,目前定义了以下子系统:
SYS_CODE |
SYS_NAME |
COMM |
基础平台 |
CRM |
客户关系管理 |
WF |
流程控制 |
每个子系统都对应一个Struts2的命名空间,命名空间和子系统的对应关系见下表,其中命名空间的命名规则为子系统编码(SYS_CODE)的小写字母,见下表:
子系统编码 |
子系统名称 |
命名空间 |
对应strut2配置文件 |
COMM |
基础平台 |
comm |
struts-comm.xml |
CRM |
客户关系管理 |
crm |
struts-crm.xml |
WF |
工作流 |
wf |
struts-wf.xml |
HR |
人力资源 |
hr |
struts-hr.xml |
D:\project\openjweb\src\java \struts.xml的内容:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<include file="struts-comm.xml"/>
<include file="struts-crm.xml"/>
<include file="struts-hr.xml"/>
<include file="struts-wf.xml"/>
</struts>
每增加一个子系统,都要在这里声明一个配置文件,并在同目录下创建一个对应的struts-开头的配置文件,例如struts-hr.xml,内容格式:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="hr" extends="struts-default" namespace="/hr">
<!-- insert new action -->
</package>
</struts>
请注意不要删除<!-- insert new action -->,因为平台生成action配置的时候自动寻找<!-- insert new action -->作为插入点。
图2-1 表结构定义
操作说明:
点“增加”按钮建一新记录,表结构命名统一为小写英文字母加下划线,表结构应以系统为前缀命名,实体类的package为org.openjweb.core.entity(目前暂时使用固定的package,以后用户可指定其他package),实体类为类名规则:首字母大写,表名的下划线后的第一个字母大写,并去掉下划线,例如comm_user表对应的类名为CommUser,包含package的完整类名为org.openjweb.core.entity.CommUser。
勾选一行记录,点建表可创建表结构,但目前表结构还没有定义,参考下一节表字段定义。
说明:目前建表语句采用的是Oracle的格式,暂未编写对其他关系数据库的建表语句。
图2-2 表字段定义
图2-3 页面属性
填写表字段注意事项:
(1) 类属性名的命名规则为字段名去掉下划线,并将下划线后的第一个字母改为大写,不要随意对类属性名命名,否则会出现问题。(以后类属性名改为由系统自动生成)
(2) 数据库属性中标签中,表名,表字段名,表字段中文名,类属性名,字段类型必须填写,字段长度也需要填写(目前系统提供了字符串和数字类型的,日期类的字段也是字符串类型),当字段为带小数字段时,小数位数也需要填写。
(3) 页面属性标签中定义了生成页面所需要的一些配置,页面输入方式中,弹出窗口、单选择按钮、复选框暂未实现。如果页面中显示文本框,则页面输入方式可空,系统认为文本框是默认的输入方式;如果页面输入为下拉选择,则应选择一个数据字典类型;列表页面显示和编辑页面显示分别表示生成页面时,是否在列表和编辑页面中显示这个字段。
(4) 此页面上有两个保存按钮,上面的保存按钮是保存整个列表的,下面是保存当前编辑列的。
(5) 以下字段不需要定义,平台会自动生成,包括:
列名 |
中文含义 |
类型 |
说明 |
pk_id |
主键 |
Varchar2(20) |
主键,每个表都有一个pk_id主键。 |
row_id |
唯一行号 |
Varchar2(40) |
非空,32位UUID格式 |
sort_no |
排序字段 |
NUMBER(16) |
此字段存储排序顺序 |
create_dt |
创建日期 |
VARCHAR2(23) |
日期时分秒格式 |
create_uid |
创建日期 |
VARCHAR2(23) |
创建人 |
update_dt |
最后修改日期 |
VARCHAR2(23) |
日期时分秒 |
update_uid |
最后修改人 |
VARCHAR2(23) |
最后修改人 |
data_flg |
数据状态 |
VARCHAR2(6) |
0初始1正式2逻辑删除… |
flow_status |
流程状态位 |
Varchar2(16) |
用于工作流 |
flow_title |
流程实例标题 |
Varchar2(100) |
用于工作流显示待办任务使用 |
参考2.2.1,当表字段定义完毕,勾选一个表,点“建表”按钮。如果操作成功,则会弹出操作成功的JS提示窗口,否则出现操作失败的JS提示窗口。建表过程系统生成了哪些内容?
(1) 在comm_column_def中增加2.2.2中列出的表字段的定义信息。
(2) 在数据库中创建了对应的数据库表。
(3) 生成了此表对应的Hibernate配置文件和POJO类。位于D:\project\openjweb\src\java\org\openjweb\core\entity目录。
(4) 在D:\project\openjweb\src\java\core-service-demo.xml中,增加了hibernate映射
文件的声明,见下文:
<property name="mappingResources">
<spa