ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:174.11KB ,
资源ID:21840971      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21840971.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(开发手册Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

开发手册Word文件下载.docx

1、1.1.1.4 关键词中文英文列表控件grid树控件tree列表树控件gridTree1.2 类1.2.1 数据操作(DAO)1.2.1.1 原则1) 编写有关直接面向数据库的代码,如直接jdbc相关代码。2) 所有DAO继承UIHibernateDao,泛型有两个,一个是操作的实体类型、一个是主键类型1.2.1.2 命名1) 操作实体名称 + DAO1.2.1.3 命名语法约定3) 定语附属词应作为定语在其要描述的名词或动词前作为名词或动词的一部分,支持多级定语。4) 如过长可使用单词缩写。5) 关键字名称应以实体类中实体为准统一、完全书写。1.2.2 业务逻辑(Service)1.2.2.

2、1 原则1) 编写业务相关代码,处理业务逻辑以及部分SQL相关代码。2) 所有主键为UUID2,Hibernate自动生成3) UIHibernateDao包含了大量的数据操作方法,有一些需要些原生SQL的可以添加新方法4) 创建主对象简单的增删改查5) 创建主对象复杂查询6) 创建主对象树操作7) 根据业务工作创建8) 一次执行的业务应封装为一个业务逻辑方法。如需要多个业务方法应新建一个方法调用这些相关方法,以保证事务处理。1.2.2.2 命名1) 操作实体名称 + Service2) 操作实体名称 + 操作类型 + Service,如:UserService。3) 业务功能名称(英文单词或

3、词组命名,每个单词间首字母大写) + Service1.2.2.3 命名语法约定1.2.3 控制(Controller)1.2.3.1 原则1) 编写有关数据获取、整理为实体相应数据、转化为页面相应数据的代码。2) url地址:”/”+模块名+”/”+类名(不要Controller)+”/”+方法名+ “.do”3) 方法内写对请求的控制和跳转,不能掺杂着任何的业务逻辑4) 总体统一命名规则。url、jsp、方法中统一、规范、一致命名。5) 参数处理应写在Controller中。6) 一次执行的业务应封装为一个业务逻辑方法。1.2.3.2 命名1) 业务功能名称+“Controller” 1.

4、2.3.3 命名语法约定1.2.3.4 关键词(待补充)1.3 方法1.3.1 原则1) 每个方法尽量不超过50行,如超过应分出子方法进行调用2) 每个方法只能处理一个业务逻辑3) 方法参数中不能有request对象4) 每个类中最多不能超过10个方法5) 方法排序,以增加、修改、删除、查询 4大类顺序排列,再以方法名称的长短顺序排列6) 查询都以GET方法、QBC、QBE形式编写,如果不能满足要求再写出HQL,还不能满足要求再用原生SQL, 写原生SQL用配置文件的形式,同时写好3种数据库的形式SQLServer、Oracle、Mysql,使用SqlBuilder类7) 应避免多次读取同一位

5、置数据的操作。如有多次使用的需求,应一次性将数据保存入集合类中,以方便多次使用。1.3.2 命名1.3.2.1 基本方法1) 查询语句:单条件列表查询:find+返回对象泛型实体名称(首字母大写,如为本类对应实体应省略)+By+条件多条件列表查询:find+返回对象泛型实体名称(首字母大写,如为本类对应实体应省略)+BySome单条件分页查询:find+返回对象泛型实体名称(首字母大写,如为本类对应实体应省略)+ Page+By+条件多条件分页查询:find+返回对象泛型实体名称(首字母大写,如为本类对应实体应省略)+ Page+BySome单条件数据查询:find+返回对象英文描述(首字母大

6、写)+By+条件find+返回对象英文描述(首字母大写)+BySome无条件查询:find+返回对象英文描述(首字母大写)+All2) 添加:save主实体名称(实体类型 实体名称)3) 批量添加:save实体名称Batch (实体类型实体名称)4) 修改:merge实体名称(实体类型 实体名称)5) 批量修改:merge实体名称Batch (实体类型实体名称)6) 删除:remove实体名称 (主键类型 id)7) 批量删除:remove实体名称Batch (主键类型id)1.3.2.2 业务方法1) 树节点查询:treeLoader1.3.2.3 命名语法约定6) 所有组成单词均直接连接不

7、用连接符7) 应遵循驼峰命名法。8) 动名词结构,动词在前。9) 定语附属词应作为定语在其要描述的名词或动词前作为名词或动词的一部分,支持多级定语。10) 在专属包或专属类中,专属词应省略。11) 如过长可使用单词缩写。1.3.2.4 关键词查询list分页查询page添加save删除remove1.4 参数1.4.1 原则1) 参数名称长度不应超过15个字符,如过长应使用部分简写2) 参数命名应保证名称的唯一性与完全性。3) 遵循驼峰命名法。1.4.2 命名1) 应与主操作实体属性名称相同。如多级属性应按驼峰命名法直接连在其后。2) 业务参数应使用英文描述,形容词应在单词前表述。1.4.2.

8、1 命名语法约定12) 所有组成单词均直接连接不用连接符13) 应遵循驼峰命名法。14) 动名词结构,动词在前。15) 定语附属词应作为定语在其要描述的名词或动词前作为名词或动词的一部分,支持多级定语。16) 复数单词应按英语语法负数形式,负数词的负数应增加Plural。如:idsPlural17) 如一个对象许多个类型出现应在后方直接添加类型名称或名称缩写。idsStr18) 临时对象应以Temp结尾。如idsStrTemp19) 以“i,j,m,n”为专属无具体意义临时对象。并按顺序以此使用。for(int i=0;i10;)20) 如过长可使用单词缩写。1.4.2.2 关键词临时temp

9、空empty1.5 注释1) 注释描述关键词及描述方式应以实体中注释为准。2) 注释应描述清晰,没有多意性。3) 有取值范围的地方应标注取值范围并用“()”标注以“,”隔开4) 中文用词应以实体中字段注释应为基准,其他位置注释应保证完全准确一致。1.6 SVN提交注释1) 注释应以“提交人”及“提交内容”组成,并以“:”隔开。2) 提交内容应参照描述规则描述准确充分。3) 修改BUG应以“修改”字样与“研发管理平台”中的BUG“编号标题”为提交内容。4) 补充提交应以功能提交内容后加“补充”字样为提交内容。5) 修改功能应以“修改”字样加功能名称以及修改描述为提交内容。2 其他约定及要求1)

10、代码文件中应不存在警告信息,警告信息应去除如有特殊需求应在警告旁注释。2) 需求未明确代码应注释TODO并注明未明确信息。当需求明确后应删除。3) 所有系统自动产生TODO标示应处理,如不作处理应删除。4) 不可提交带有mian方法system.out,out等测试用代码。5) SVN提交时应先选择同步数据处理所有冲突后,测试功能再统一提交,不可直接提交,或部分提交。如有无法处理冲突应询问相关人协商解决。6) 原则上不允许出现catch代码块。如需要异常处理可在处理代码最后再使用throw方法将原异常抛出。3 编码规范及示例3.1 后台3.1.1 实体定义3.1.1.1 实体类声明1) 声明方

11、式:EntityTable(name = T_KPI_STRATEGY_MAP含审计信息实体类应继承AuditableEntity类不含审计信息实体应继承IdEntity类2) 命名规则:应以数据库表名称去掉类型前缀及模块前缀后的名称命名,使用骆驼式命名法命名。T_KPI_STRATEGY_MAP对应实体名StrategyMap。3) 注释:公用实体应写出中文名称。非公用实体应注明使用方式以及适用范围。3.1.1.2 数据类型1) 基础数据类型以包装类代替基本数据类型。int应使用Integer代替。2) 其他数据类型:数据库类型或描述JAVA类型日期型、时间型java.util.Date大字

12、段Java.lang.Byte以0,1表示是否字段如isLeafjava.util.Boolean3.1.1.3 字段定义1) 命名规则:特殊字段命名:数据库字段名称或描述属性名称表名_NAMEname表名_CODEcodeESTATUSstatusEDESCdescESORTsortELEVELlevel父节点parent子节点childrens除以上特殊字段外均按照骆驼试命名规则命名,如:IMPROVEMENT_ITEM_NAME实体字段名应为:improvementItemName2) 注释:应注明名称使用方法如有取值范围应注明例: /* * 状态:整改状态标示:(0:新建,1:整改中,

13、2:整改完成) */ Column(name=ESTATUS private String status;3) 外键定义:除有特殊业务需求,外键定义均已该外键对应实体类型为类型,以简单英文以骆驼命名规则格式命名。private KpiStrategyMap parent;4) 多对一关联(一对一关联):/* 父节点*/ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.PERSIST)JoinColumn(name = PARENT_ID private KpiStrategyMap parent;5) 一对多关联 * 子节点 */

14、OrderBy(sort descOneToMany(fetch = FetchType.LAZY, mappedBy = parentprivate Set childrens;6) 多对多关联ManyToMany(fetch = FetchType.LAZY)JoinTable(name = T_RM_RISK_MEASURE, joinColumns = RISK_ID, nullable = false, updatable = false) , inverseJoinColumns = MEASURE_ID, nullable = false, updatable = false)

15、)RmTreatmentMeasure treatmentMeasures = new HashSet(0);3.1.1.4 字段含义约定及取值范围约定含义字段名称取值范围(值:含义)dealStatus逻辑删除标示true:有效false:状态标示s:待提交p:已提交d:已处理isLeaf叶子节点标示叶子节点非叶子节点isSystem系统初始化数据标示系统初始化数据非系统初始化数据3.1.2 ajax调用1) get方式直接调用url2) post方式提交表单3.1.3 QBC查询1) 分页查询统一使用findPage 方法进行查询,方法会返回一个Page,page类中有所要查询结果集、总条

16、数、当前页数等Page类 需要俩个参数 pageNO(当前页数)、pageSize(每页显示多少条)Page类必须在Controller层创建,并设置pageNO、pageSize示例:Controller:Page page = new Page();page.setPageNo(limit = 0 ? 0 : start/limit) + 1);page.setPageSize(limit);Service:DetachedCriteria dc = DetachedCriteria.forClass(SysEmployee.class);dc.createCriteria(sysUser

17、, u);u.sysRolesrdc.add(Restrictions.eq(r.id, roleid);if(StringUtils.isNotBlank(emp.getEmpcode() dc.add(Restrictions.like(empcode, emp.getEmpcode();if(StringUtils.isNotBlank(emp.getEmpname()empname, emp.getEmpname(); o_sysEmployeeDAO.findPage(dc , page, false);2) 关联查询分别有两种查询方式:一种QBC 方式:使用面向对象的形式进行关联查

18、询Criteria criteria = o_sysOrgDao.createCriteria();/ 第一个参数所连接对象的属性名称,第二个参数是别名criteria.createAlias(parentOrgp/ 查询的时候就可以用别名.所连接对象的属性来调用criteria.add(Restrictions.eq(p.id, id);criteria.list();另一种是HQL方式:示例String hql = from SysOrganization o join o.parentOrg p where p.id=:id;Query query = o_sysOrgDao.creat

19、eQuery(hql);query.setParameter(, id);query.list();3) 子查询/ 子查询DetachedCriteria dc = DetachedCriteria.forClass(SysOrganization.class);criteria.add(Subqueries.exists(dc);parentOrg.idFgffSubqueries 为QBC的子查询对象,提供很多方法如exists、notExists、in、notIn等 另一种HQL方式 示例:from SysOrganization o where exists(select 1 from

20、 SysOrganization o where p.id=:id) HQL子查询的写法和SQL非常相似,只需要把表名翻译成实体名即可4) 分组查询ProjectionList projectionList = Projections.projectionList();projectionList.add(Projections.groupProperty(name);criteria.setProjection(projectionList);Projections为QBC的分组和函数使用对象,提供很多方法如min、max、groupProperty等另一种HQL方式from SysOrga

21、nization o group by nameHQL分组查询的写法和SQL非常相似,只需要把表名翻译成实体名即可5) 原生SQLHibernate对SQL语句也不是完全支持的 比如 union、一些具有数据库特性的函数,支持还不是非常好这里就要用到了原生SQL,平台中也对使用原生SQL做了规定和统一管理,如果要使用原生SQL 就要写oracle、mysql、mssql三种,分别存放于oracle.xml、mysql.xml、mssql.xml中String sql = SqlBuilder.getSql(select_user, new HashMap();SQLQuery sqlQuery

22、 = o_sysOrgDao.createSQLQuery(sql);sqlQuery.list();Oracle xml: /sql3.2 前端3.2.1 ExtJS1) 普通列表示例说明 实现方式FHD.ux.GridPanel参数说明renderTo渲染到页面renderTo: demourl调用后台urlurl:_ctxPath + /test/queryTestMvcList.doheight列表的高度height: FHD.getCenterPanelHeight()cols列表需要显示的列详细代码见后面tbarItems菜单项searchable是否支持查询,默认为truesea

23、rchable:falsecols的代码:cols:header: FHD.locale.get(fhd.pages.test.field.name), dataIndex:name, sortable: true, width: 60,flex : 1, header:fhd.pages.test.field.titletitlefhd.pages.test.field.myLocalemyLocale 60,renderer:function(value) var index = fieldstore.find(id,value); var record = fieldstore.getAt(index); if(record

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1