基于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 ...
随机推荐
- Spark LogisticRegression 逻辑回归之建模
导入包 import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.s ...
- js 基础知识总结
1.switch结构 switch语句部分和case语句部分,都可以使用表达式. switch(1 + 3) { case 2 + 2: f(); break; default: neverhappe ...
- Web(二)
一.数据的传递--转发和重定向 1.创建一个login.jsp页面 <body> <%-- action:我们需要提交的地址 method:请求的方式 --%> ...
- eclipse中一个项目引用另一个项目的方法(申明:来源于网络)
eclipse中一个项目引用另一个项目的方法(申明:来源于网络) 地址:http://blog.csdn.net/a942980741/article/details/39990699
- 启动elk中elasticsearch服务报错which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
解决办法: vi /etc/sysconfig/elasticsearch JAVA_HOME=/usr/local/java sudo systemctl restart elasticsearch ...
- 跳石头|河中跳房子|NOIP2015提高组T4|二分法
喵 提交地址:http://codevs.cn/problem/4768/ 题目: 题意:自己看 思路: 1.读入各个石头数据 2.直接二分答案: 枚举一个石头i和一个石头j,要求i和j之间的距离为m ...
- DSO论文解读
dso 1.1. Motivation 本文提出的单目视觉测距法的直接和稀疏公式是出于以下考虑因素; (1)直接: 关键点的主要优点之一是它们能够为使用现成的商品相机拍摄的图像中存在的光度和几何失真提 ...
- java高级精讲之高并发抢红包~揭开Redis分布式集群与Lua神秘面纱
java高级精讲之高并发抢红包~揭开Redis分布式集群与Lua神秘面纱 redis数据库 Redis企业集群高级应用精品教程[图灵学院] Redis权威指南 利用redis + lua解决抢红包高并 ...
- Flink -- Keyed State
/* <pre>{@code * DataStream<MyType> stream = ...; * KeyedStream<MyType> keyedStrea ...
- kubernetes1.3搭建dns服务
https://xuxinkun.github.io/2016/07/22/kubernetes-dns/