基于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实现可配置。
基于Extjs+SpringMVC+MyBatis+Oracle的B/S信息系统简化开发思路的更多相关文章
- (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中
利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目 Dao (jar) Service (jar) Controller (web) ...
- 基于Spring+SpringMVC+Mybatis的Web系统搭建
系统搭建的配置大同小异,本文在前人的基础上做了些许的改动,重写数据库,增加依据权限的动态菜单的实现,也增加了后台返回json格式数据的配置,详细参见完整源码. 主要的后端架构:Spring+Sprin ...
- spring+springmvc+mybatis+oracle+atomikos+jta实现多数据源事务管理
---恢复内容开始--- 在做项目过程中,遇到了需要一个项目中访问两个数据库的情况,发现使用常规的spring管理事务,导致事务不能正常回滚,因此,采用了jta+atomikos的分布式数据源方式 ...
- SSM框架整合(Spring+SpringMVC+MyBatis+Oracle)
1.开发环境搭建以及创建Maven Web项目 参看之前的博文[确保maven web项目不报错]:http://www.cnblogs.com/cainiaomahua/p/6306476.html ...
- Intellij Idea下搭建基于Spring+SpringMvc+MyBatis的WebApi接口架构
2018-08-16 09:27 更新 强烈推荐使用Springboot来搭建MVC框架! 强烈推荐使用Springboot来搭建MVC框架! 强烈推荐使用Springboot来搭建MVC框架! 后文 ...
- EXTjs+SpringMVC+Mybatis实现照片的上传,下载,查看关键技术整理
第一个问题:如何通过Extjs4实现照片上传的布局展示以及本地照片选择后的在一个区域内进行图片预览 实现照片上传的布局展示: items : [ { xtype : 'box', itemId : ' ...
- SpringBoot搭建基于Spring+SpringMvc+Mybatis的REST服务
Maven Plugin管理 通常,让你的Maven POM文件继承 spring-boot-starter-parent,并声明一个或多个 Starter POMs依赖即可. spring-boot ...
- javaweb项目-医者天下 (Spring+SpringMVC+MyBatis)
项目下载地址:http://download.csdn.net/detail/qq_33599520/9826683 项目完整结构图: 项目简介: 医者天下项目是一个基于Spring+SpringMV ...
- 从头开始基于Maven搭建SpringMVC+Mybatis项目(1)
技术发展日新月异,许多曾经拥有霸主地位的流行技术短短几年间已被新兴技术所取代. 在Java的世界中,框架之争可能比语言本身的改变更让人关注.近几年,SpringMVC凭借简单轻便.开发效率高.与spr ...
随机推荐
- PDF to image
http://www.verypdf.com/pdf2tif/pdf-to-image/help.htm http://www.softinterface.com/DL/DL_Alternate_Do ...
- docker swarm 英文参考资料阅读列表
将自己在使用 docker swarm 过程中阅读的英文参考资料收集在这篇博文中,便于以后查阅与温习,顺带分享. 2017年8月5日之前阅读 My experience with Docker Swa ...
- angularjs 异步请求无法更新数据
angularjs 有个问题就是第二次ajax请求数据再次赋值给 $scope.data,需要更新视图数据的时候,却不能更改视图数据,这个是因为angularjs的$watch不能监听到JS对$sco ...
- iOS打包上传问题
iOS 打包不成功的原因: 1.打包时在下图 code signing没有选择发布证书 2.没有配置好pp文件 3.targets-> general 和 setting设置的签名方式不一样,要 ...
- PHP和mysql英文
spam (垃圾邮件) recruiter (招聘人员) occasional (偶然) professional and enthusiast programmers (专业和发烧友程序员) syn ...
- isinstance与type的区别
1.isinstance()内置函数 python中的isinstance()函数是python的内置函数,用来判断一个函数是否是一个已知类型.类似type. 2.用法: isinstance(obj ...
- mysql缓存分析流程
- [math] 绘制空间几何体的直观图
这么多年,一直凭着从天而降的神来之灵感画着立体图. 而今才知道在二维平面上绘制空间几何体的直观图也是有方法的.叫做“画法几何” 1. 斜二测图 就是倾斜y轴,使y轴与x轴成45度的夹角.见: http ...
- 使用Dom4j的xPath解析xml文件------xpath语法
官方语法地址:http//www.w3school.com.cn/xpath/index.asp xpath使用路径表达式来选取xml文档中的节点或节点集.节点是通过沿着路径(path)或者步(ste ...
- 抽屉之Tornado实战(7)--form表单验证
在这里,我们把form表单验证的代码进行工具化了,以后稍微修改一下参数就可以拿来用了 先贴上代码 forms.py from backend.form import fields class Base ...