基于Extjs+SpringMVC+MyBatis+Oracle的B/S信息系统简化开发思路

要在上层简化就得有下层强大的架构作为支撑,通过采用企业级的各种框架,虽然学习成本高一些,但用好了效率也自然高。

数据层简化:

首先所有表都有名称为ID的主键字段。有与表同名的序列作为自增key。

数据层按数据用途分为三大类别,配置中心(CC)、数据中心(DC)、业务中心(BC)

配置中心对基本配置表的CURD提供一个通用的操作支持,

数据中心对通用的查询、分页、排序提供支持。

业务中心对差异化的业务调用提供处理。

1.基于SpringMVC+MyBatis提供一个通用的Ajax方式的CURD操作接口,表名(为了安全可取别名)作为CURD控制器的一个固定路径变量

对于Create来说,只需要在前台配置好与数据库表字段对应的同名表单项,即可对任意数据表进行添加行操作。

对于Update来说,只需要在前台配置好与数据库表字段对应的同名表单项,即可对任意数据表以ID为条件进行更新操作。

对于Delete来说,只需要传入要删除的ID,即可对任意数据表的指定行进行删除。

对于Read来说,要传入查询字段名称和值的列表,组合出查询条件(不分页读排序由前台Store负责即可)。

2.提供通用数据查询接口(DC),

对于大部分Read(支持分页)来说,要传入查询字段名称和值的列表(增加分页的页码和条数参数),组合出查询条件;还可以传入排序条件(分页无法在前台排序)。

3.对于无法通过CURD接口和DC进行的数据访问和操作,且是单一步骤的查询、添加、修改、删除操作,按模块编写MyBatis Dao定制接口,满足各种参数多种形式的数据操作。

4.对于复杂的数据库操作(非查询类,比如一次业务处理有1个以上的数据过程处理)采用Oracle存储过程。

即提高了数据库代码的编写效率,又避免了MyBatis中增加过多复杂的底层数据库操作接口。

SpringMVC的Service层对数据库的业务调用也简化了(都跑到PL/SQL里了,数据库专用开发语言比Java/MyBatis开发高效多了)。

通过以上四类数据接口的分工,实现最少的业务代码编写。

 

前端简化:

基于Extjs MVVM架构的webApp,优点就不用说了,后台分层前台自然也要分层。

导航菜单主菜单和子菜单都可以动态建立,子菜单通过设置要打开的widget的xtype实现可配置。

 

posted @ 2017-10-24 19:59  老豆芽  阅读(833)  评论(0编辑  收藏  举报