Extjs5开发学习-33-单个模块的设计[1建立表和bean]_第1页
Extjs5开发学习-33-单个模块的设计[1建立表和bean]_第2页
Extjs5开发学习-33-单个模块的设计[1建立表和bean]_第3页
Extjs5开发学习-33-单个模块的设计[1建立表和bean]_第4页
Extjs5开发学习-33-单个模块的设计[1建立表和bean]_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Extjs5 开发学习 33 单个模块的设计 1 建立表和 bean 现在开始进入这个系统的第一个核心部分 就是如何对模块的功能进行设计 请看下图 一个最简单的模块包括的内容有 模块属性 字段属性 列表定义和表单定义 在上面的定义中 一个模块可以有 n 个字段组成 可以有若干个列表方案和表单方 案 每一个列表和表单可以有若干个组组成 每个组下面又有若干个字段 这样的设计也 符合这个教程的前 20 节中设计出来的功能 现在要做的就是把这些功能做成前后台交互 的 先开始模块字段和列表方案的定义 以上各个方案的定义也都是放在数据库中的 因此先要建立好各个表和 java bean 建立模块字段的表 ModuleField sql view plain copy 1 CREATE TABLE dbo ModuleField 2 tf fieldId int NOT NULL 3 tf moduleId nvarchar 10 COLLATE Chinese PRC CI AS NOT NULL 4 tf fieldOrder int NULL 5 tf title nvarchar 50 COLLATE Chinese PRC CI AS NOT NULL 6 tf fieldName nvarchar 50 COLLATE Chinese PRC CI AS NOT NULL 7 tf fieldType nvarchar 50 COLLATE Chinese PRC CI AS NOT NULL 8 tf fieldGroup nvarchar 50 COLLATE Chinese PRC CI AS NULL 9 tf fieldLen int NULL 10 tf propertyTypeId int NULL 11 tf isHidden bit NULL 12 tf isReadonly bit NULL 13 tf isRequired bit NULL 14 tf isDisable bit NULL 15 tf isUserDefine bit NULL 16 tf userDefine nvarchar max COLLATE Chinese PRC CI AS NULL 17 tf allowGroup bit NULL 18 tf allowSummary bit NULL 19 tf otherSetting nvarchar max COLLATE Chinese PRC CI AS NULL 20 tf defaultValue nvarchar 50 COLLATE Chinese PRC CI AS NULL 21 tf remark nvarchar max COLLATE Chinese PRC CI AS NULL 22 tf fieldRelation nvarchar 20 COLLATE Chinese PRC CI AS NULL 23 tf newNeedSelected bit NULL 24 tf showNavigatorTree bit NULL 25 tf DBFieldName nvarchar 50 COLLATE Chinese PRC CI AS NULL 26 tf DBformula nvarchar max COLLATE Chinese PRC CI AS NULL 27 tf divisor nvarchar 50 COLLATE Chinese PRC CI AS NULL 28 tf denominator nvarchar 50 COLLATE Chinese PRC CI AS NULL 29 tf allowNew bit NULL 30 tf allowEdit bit NULL 31 tf allowInsertExcel bit NULL 32 tf allowEditExcel bit NULL 33 tf haveAttachment bit NULL 34 tf isChartCategory bit NULL 35 tf isChartNumeric bit NULL 36 CONSTRAINT PK ModuleField 4D94879B PRIMARY KEY CLUSTERED 37 38 tf fieldId ASC 39 WITH IGNORE DUP KEY OFF ON PRIMARY 40 CONSTRAINT ModuleField ix1 UNIQUE NONCLUSTERED 41 42 tf moduleId ASC 43 tf title ASC 44 tf fieldName ASC 45 WITH IGNORE DUP KEY OFF ON PRIMARY 46 ON PRIMARY 模块字段的 java bean java view plain copy 1 package com jfok server hibernate system 2 3 import java io Serializable 4 import javax persistence CascadeType 5 import javax persistence Column 6 import javax persistence Entity 7 import javax persistence FetchType 8 import javax persistence Id 9 import javax persistence JoinColumn 10 import javax persistence ManyToOne 11 import javax persistence Transient 12 import org codehaus jackson annotate JsonIgnore 13 import org codehaus jackson annotate JsonProperty 14 import org codehaus jackson map annotate JsonSerialize 15 16 import mon annotation FieldDefine 17 import mon annotation TableDefine 18 19 20 每个模块的各个字段 21 22 author jfok 23 24 25 JsonSerialize include JsonSerialize Inclusion NON EMPTY 26 SuppressWarnings serial 27 Entity 28 org hibernate annotations Entity dynamicUpdate true 29 TableDefine group 系统模块 id 9903 title 模块字段 30 public class ModuleField implements Serializable IModuleControlInterface 31 32 public static final String FIELDID tf fieldId 33 public static final String FIELDNAME tf fieldName 34 public static final String MANYTOONE ManyToOne 35 public static final String ONETOONE OneToOne 36 public static final String ONETOMANY OneToMany 37 38 Id 39 FieldDefine title 字段序号 number 10 40 Column nullable false 41 private Integer tf fieldId 42 43 JsonIgnore 44 ManyToOne cascade CascadeType REFRESH fetch FetchType EAGER 45 JoinColumn name tf moduleId nullable false 46 FieldDefine title 所属模块 number 20 47 private Module tf Module 48 49 JsonIgnore 50 FieldDefine title 顺序号 number 30 51 private Integer tf fieldOrder 52 53 FieldDefine title 字段描述 number 40 nameField true 54 Column length 50 nullable false 55 private String tf title 56 57 FieldDefine title 字段名 number 50 58 Column length 50 nullable false 59 private String tf fieldName 60 61 FieldDefine title 类型 number 60 62 Column length 50 nullable false 63 private String tf fieldType 64 65 JsonProperty l 66 FieldDefine title 长度 number 70 67 private Integer tf fieldLen 68 69 FieldDefine title 字段分组 number 75 70 private String tf fieldGroup 71 72 字段的关联类型 ManyToOne OneToOne OneToMany 73 JsonIgnore 74 FieldDefine title 关联类型 number 80 75 Column length 20 76 private String tf fieldRelation 77 78 JsonIgnore 79 FieldDefine title 表字段实名 remark 数据表中的实际字段名 number 90 80 Column length 50 81 private String tf DBfieldName 82 83 JsonIgnore 84 FieldDefine title 字段公式 remark 公式字段的具体内容 number 100 85 private String tf DBformula 86 87 JsonIgnore 88 FieldDefine title 百分比分子 number 105 remark 如果这个字段是二个 字段的比值 设置分子字段和分母字段 可以在汇总的时候也得出正确的比值 89 Column length 50 90 private String tf divisor 91 92 JsonIgnore 93 FieldDefine title 百分比分母 number 106 94 Column length 50 95 private String tf denominator 96 97 FieldDefine title 缺省值 number 110 98 Column length 50 99 private String tf defaultValue 100 101 ManyToOne cascade CascadeType REFRESH fetch FetchType EAGE R 102 JoinColumn name tf propertyTypeId 103 FieldDefine title 字段列表属性 number 120 104 private PropertyType tf PropertyType 105 106 FieldDefine title 禁用 number 130 107 private Boolean tf isDisable 108 109 FieldDefine title 隐藏 number 140 110 private Boolean tf isHidden 111 112 JsonIgnore false 113 FieldDefine title 必填 number 150 114 private Boolean tf isRequired 115 116 FieldDefine title 可新增 number 160 117 private Boolean tf allowNew 118 119 FieldDefine title 可修改 number 170 120 private Boolean tf allowEdit 121 122 JsonIgnore 123 FieldDefine title 可导航 remark 选中才可以在导航树中显示 number 180 124 private Boolean tf showNavigatorTree 125 126 FieldDefine title 可分组 number 190 127 private Boolean tf allowGroup 是否允许分组 128 129 FieldDefine title 小计 number 200 130 private Boolean tf allowSummary 是否可以小计及总计 131 132 FieldDefine title 新增选中 remark 在新增一条记录时 是否必须在导航 树中选择此字段的值 number 210 133 private Boolean tf newNeedSelected 134 135 FieldDefine title 字段附件 remark 可以增加针对此字段的附件 number 212 136 private Boolean tf haveAttachment 137 138 JsonIgnore 139 FieldDefine title 自定义 number 220 140 private Boolean tf isUserDefine 141 142 FieldDefine title 其他设置 number 230 143 private String tf otherSetting 144 145 JsonIgnore 146 FieldDefine title Excel 导入 remark Excel 导入新增时加入此字段可新 增 number 240 147 private Boolean tf allowInsertExcel 148 149 JsonIgnore 150 FieldDefine title Excel 修改 remark Excel 修改后再导入时此字段可更 新 number 250 151 private Boolean tf allowEditExcel 152 153 FieldDefine title 图表项目 remark 此字段可以作为图表分析中的一个项 目 number 260 154 private Boolean tf isChartCategory 155 156 FieldDefine title 图表数据 remark 此字段可以作为图表分析中的一个数 据 number 270 157 private Boolean tf isChartNumeric 158 159 FieldDefine title 备注 number 800 160 private String tf remark 161 162 如果是一个 manytoone 的字段 那么显示实际 ID 的字段 163 Transient 164 private String manytoone IdName 165 166 如果是一个 manytoone 的字段 那么显示实际 title 的字段 167 Transient 168 private String manytoone TitleName 169 170 public ModuleField 171 172 173 getter and setter 174 在上面的这个 java 类中 对模块字段设置了许多的属性可供定义 这个可以根据软 件的扩充自己进行加入和处理 在这个例子中 我只能讲一下最简单的一些属性的应用 建立模块列表方案表 列表方案分组表和列表方案分组的字段表 sql view plain copy 1 CREATE TABLE dbo ModuleGridScheme 2 tf gridSchemeId int NOT NULL 3 tf moduleId nvarchar 10 COLLATE Chinese PRC CI AS NOT NULL 4 tf schemeOrder int NOT NULL 5 tf schemeName nvarchar 50 COLLATE Chinese PRC CI AS NOT NULL 6 tf isSystemScheme bit NULL 7 tf isAllowEditInGrid bit NULL 8 tf autoShowFilterEditor bit NULL 9 tf dblClickAction nvarchar 50 COLLATE Chinese PRC CI AS NULL 10 tf defaultSort nvarchar 50 COLLATE Chinese PRC CI AS NULL 11 tf otherSetting nvarchar max COLLATE Chinese PRC CI AS NULL 12 CONSTRAINT PK ModuleGridSchem 33D4B598 PRIMARY KEY CLUSTERED 13 14 tf gridSchemeId ASC 15 WITH IGNORE DUP KEY OFF ON PRIMARY 16 CONSTRAINT ModuleGridScheme ix1 UNIQUE NONCLUSTERED 17 18 tf moduleId ASC 19 tf schemeOrder ASC 20 WITH IGNORE DUP KEY OFF ON PRIMARY 21 ON PRIMARY 22 23 24 GO 25 ALTER TABLE dbo ModuleGridScheme WITH CHECK ADD CONSTRAINT ModuleGridScheme fk1 FOREIGN KEY tf moduleId 26 REFERENCES dbo Module tf moduleId 27 ON UPDATE CASCADE 28 ON DELETE CASCADE sql view plain copy 1 CREATE TABLE dbo ModuleGridSchemeGroup 2 tf gridGroupId int NOT NULL 3 tf gridSchemeId int NOT NULL 4 tf gridGroupOrder int NOT NULL 5 tf gridGroupName nvarchar 50 COLLATE Chinese PRC CI AS NOT NULL 6 tf isShowHeaderSpans bit NULL 7 tf isLocked bit NULL 8 tf otherSetting nvarchar max COLLATE Chinese PRC CI AS NULL 9 CONSTRAINT PK ModuleGridSchem 534D60F1 PRIMARY KEY CLUSTERED 10 11 tf gridGroupId ASC 12 WITH IGNORE DUP KEY OFF ON PRIMARY 13 ON PRIMARY 14 15 16 GO 17 ALTER TABLE dbo ModuleGridSchemeGroup WITH CHECK ADD CONSTRAI NT ModuleGridSchemeGroup fk1 FOREIGN KEY tf gridSchemeId 18 REFERENCES dbo ModuleGridScheme tf gridSchemeId 19 ON UPDATE CASCADE 20 ON DELETE CASCADE sql view plain copy 1 CREATE TABLE dbo ModuleGridSchemeGroupField 2 tf gridFieldId int NOT NULL 3 tf gridGroupId int NOT NULL 4 tf gridFieldOrder int NOT NULL 5 tf fieldId int NOT NULL 6 tf columnWidth int NULL 7 tf isLocked bit NULL 8 tf isAllowTotal bit NULL 9 tf isAllowSort bit NULL 10 tf ishidden bit NULL 11 tf notExportExcel bit NULL 12 tf additionType nvarchar 50 COLLATE Chinese PRC CI AS NULL 13 tf otherSetting nvarchar max COLLATE Chinese PRC CI AS NULL 14 CONSTRAINT PK ModuleGridSchem 72C60C4A PRIMARY KEY CLUSTERED 15 16 tf gridFieldId ASC 17 WITH IGNORE DUP KEY OFF ON PRIMARY 18 CONSTRAINT ModuleGridSchemeGroupField ix1 UNIQUE NONCLUSTERED 19 20 tf gridGroupId ASC 21 tf fieldId ASC 22 WITH IGNORE DUP KEY OFF ON PRIMARY 23 ON PRIMARY 24 25 26 GO 27 ALTER TABLE dbo ModuleGridSchemeGroupField WITH CHECK ADD CONS TRAINT ModuleGridSchemeGroupField fk1 FOREIGN KEY tf gridGroupId 28 REFERENCES dbo ModuleGridSchemeGroup tf gridGroupId 29 ON DELETE CASCADE 30 GO 31 ALTER TABLE dbo ModuleGridSchemeGroupField WITH CHECK ADD CONS TRAINT FK ModuleGridSchemeGroupField ModuleField FOREIGN KEY tf fiel dId 32 REFERENCES dbo ModuleField tf fieldId 33 ON UPDATE CASCADE 34 ON DELETE CASCADE 三个表对应的 java bean 如下 java view plain copy 1 package com jfok server hibernate system 2 3 import java io Serializable 4 import java util List 5 import javax persistence CascadeType 6 import javax persistence Column 7 import javax persistence Entity 8 import javax persistence FetchType 9 import javax persistence GeneratedValue 10 import javax persistence Id 11 import javax persistence JoinColumn 12 import javax persistence ManyToOne 13 import javax persistence OneToMany 14 import javax persistence OrderBy 15 16 import org codehaus jackson annotate JsonIgnore 17 import org hibernate annotations GenericGenerator 18 import mon annotation FieldDefine 19 import mon annotation TableDefine 20 21 22 模块的列表方案 一个模块可以有多个列表方案 可以显示不同的字段 有不同的属性 23 24 author jfok 25 26 27 28 SuppressWarnings serial 29 Entity 30 org hibernate annotations Entity dynamicUpdate true 31 TableDefine group 系统模块 id 9904 title 模块列表方案 shortname 列表方案 32 public class ModuleGridScheme implements IModuleControlInterface Serializa ble 33 34 Id 35 GeneratedValue generator increment 36 GenericGenerator name increment strategy increment 37 FieldDefine title ID 号 number 10 hidden true 38 private Integer tf gridSchemeId 39 40 JsonIgnore 41 ManyToOne cascade CascadeType REFRESH fetch FetchType LAZY 42 JoinColumn name tf moduleId nullable false 43 FieldDefine title 模块 number 20 44 private Module tf Module 45 46 FieldDefine title 顺序号 number 30 47 Column nullable false 48 private Integer tf schemeOrder 49 50 FieldDefine title 方案名称 nameField true number 40 51 Column length 50 nullable false 52 private String tf schemeName 53 54 FieldDefine title 系统方案 number 50 55 private Boolean tf isSystemScheme 56 57 FieldDefine title 可编辑 number 60 58 private Boolean tf isAllowEditInGrid 59 60 FieldDefine title 双击操作 number 70 61 private String tf dblClickAction 62 63 FieldDefine title 排序字段 number 80 64 private String tf defaultSort 默认排序字段 如为 null 则为数据库默认排序 65 66 FieldDefine title 附加设置 number 90 67 private String tf otherSetting 68 69 70 OneToMany targetEntity ModuleGridSchemeGroup class fetch FetchTy pe LAZY cascade CascadeType ALL 71 JoinColumn name tf gridSchemeId 72 OrderBy tf gridGroupOrder 73 private List moduleGridSchemeGroups 74 75 public ModuleGridScheme 76 77 78 setter and getter 79 java view plain copy 1 package com jfok server hibernate system 2 3 import java io Serializable 4 import java util List 5 import javax persistence CascadeType 6 import javax persistence Column 7 import javax persistence Entity 8 import javax persistence FetchType 9 import javax persistence GeneratedValue 10 import javax persistence Id 11 import javax persistence JoinColumn 12 import javax persistence ManyToOne 13 import javax persistence OneToMany 14 import javax persistence OrderBy 15 import org codehaus jackson annotate JsonIgnore 16 import org hibernate annotations GenericGenerator 17 18 import mon annotation FieldDefine 19 import mon annotation TableDefine 20 21 22 每一个模块列表方案之中显示字段分组 23 24 author jfok 25 26 27 28 SuppressWarnings serial 29 Entity 30 org hibernate annotations Entity dynamicUpdate true 31 TableDefine group 系统模块 id 9905 title 模块列表字段分组 shortname 列表字段分组 32 public class ModuleGridSchemeGroup implements IModuleControlInterface S erializable 33 34 public static final String GRIDGROUPID tf gridGroupId 35 36 Id 37 GeneratedValue generator increment 38 GenericGenerator name increment strategy increment 39 FieldDefine title ID 号 number 10 hidden true 40 private Integer tf gridGroupId 41 42 JsonIgnore 43 ManyToOne cascade CascadeType REFRESH fetch FetchType LAZY 44 JoinColumn name tf gridSchemeId nullable false 45 FieldDefine title 模块列表方案 number 20 46 private ModuleGridScheme tf ModuleGridScheme 47 48 FieldDefine title 顺序号 number 30 49 Column nullable false 50 private Integer tf gridGroupOrder 51 52 FieldDefine title 分组名称 nameField true number 40 53 Column length 50 nullable false 54 private String tf gridGroupName 55 56 FieldDefine title 表头分组 number 50 57 private Boolean tf isShowHeaderSpans 58 59 FieldDefine title 锁定 number 60 60 private Boolean tf isLocked 61 62 FieldDefine title 其他设置 number 90 63 private String tf otherSetting 64 65 OneToMany targetEntity ModuleGridSchemeGroupField class fetch Fet chType LAZY cascade CascadeType ALL 66 JoinColumn name tf gridGroupId 67 OrderBy tf gridFieldOrder 68 private List moduleGridSchemeGroupFields 69 70 public ModuleGridSchemeGroup 71 72 73 setter and getter 74 java view plain copy 1 package com jfok server hibernate system 2 3 import java io Serializable 4 5 import javax persistence CascadeType 6 import javax persistence Column 7 import javax persistence Entity 8 import javax persistence FetchType 9 import javax persistence GeneratedValue 10 import javax persistence Id 11 import javax persistence JoinColumn 12 import javax persistence ManyToOne 13 import org codehaus jackson annotate JsonIgnore 14 import org codehaus jackson map annotate JsonSerialize 15 import org hibernate annotations GenericGenerator 16 import mon annotation FieldDefine 17 import mon annotation TableDefine 18 19 20 每一个模块列表字段分组下面显示的字段 21

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论