Spring提供的前端控制器,全部的乞请都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller此前,需求注重Sprin..." />

SSM中(Spring-SpringMVC-Mybatis)(一:概念)

一:Spring:

参照笔者的另一篇博客:    http://www.cnblogs.com/GH0522/p/8127530.html

二:SpringMVC:

流程图:

MyBatis 1

SpringMVC接口解释

DispatcherServlet:

style=”font-size: 18px;”>Spring提供的前端控制器,全部的乞请都有经过它来统一分发。在DispatcherServlet将请求分发给Spring
Controller此前,需求注重Spring提供的HandlerMapping定位到具体的Controller。

 

能够完成客户请求到Controller映射。

MyBatis, 

内需为现身用户处理上述呼吁,因而达成Controller接口时,必须确定保证线程安全而且可选择。

Controller将拍卖用户请求,这和Struts
Action扮演的剧中人物是同等的。一旦Controller处理完用户请求,则赶回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中带有了模型(Model)和视图(View)。

从宏观角度考虑,DispatcherServlet是百分百Web应用的控制器;从微观考虑,Controller是单个Http请求处理进度中的控制器,而ModelAndView是Http请求进程中回到的模子(Model)和视图(View)。

 

Spring提供的视图解析器(ViewResolver)在Web应用中找找View对象,从而将相应结果渲染给客户。

SpringMVC运转规律

  1. style=”font-size: 18px;”>客户端请求提交到DispatcherServlet
  2. style=”font-size: 18px;”>由DispatcherServlet控制器查询3个或三个HandlerMapping,找随处理请求的Controller
  3. style=”font-size: 18px;”>DispatcherServlet将呼吁提交到Controller
  4. style=”font-size: 18px;”>Controller调用工作逻辑处理后,重返ModelAndView
  5. style=”font-size: 18px;”>DispatcherServlet查询二个或多少个ViewResoler视图解析器,找到ModelAndView内定的视图
  6. 视图负责将结果呈现到客户端
  1. 缴枪符合一定格式的UQashqaiL请求。
  2. 开始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
  3. 开端化Spring
    MVC的次第组成组件,并装配到DispatcherServlet中。

 

 

 三:mybatis

   MyBatis 是永葆定制化 SQL、存款和储蓄进程以及高档映射的卓越的持久层框架。MyBatis 制止了大约拥有的 JDBC 代码和手工业安装参数以及抽取结果集。MyBatis 使用简便的 XML 或注明来配置和照耀基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

  

1:使用连接池,datasource,在使得并接二连三的这么些进度中优化并解耦

JDBC第二步其实从效用角度来看是不适当的,因为不论什么数据库都不容许扶助随机和巨大的连接数,而且不可防止的留存连接浪费的事态,Mybatis就封装了这么些优化的格局。

2:统一sql存取到XML

倘使代码写在java块中,在集团同盟中很可能出现三个交叉作业的代码应用类似的sql语句,而开发人士的工作本身没有交集,那就意味着sql语句肯定是无能为力复用的。而且对sql的修改,就表示着对java文件的改动,须要再度编写翻译和包裹铺排(比如大规模的事态值更改,sql修改随着事情转移一定存在修改)。

mybatis将sql统一存取到xml中,就算存在工作交叉,但因为联合布局的原故,sql在xml中侦查破案,四个跨team的程序员能够看出对方的sql,来判定本身是不是必要选定。并且使用xml配置能够减小代码编写翻译。

还有便是在java中拼写长sql太恶心了。

3:参数和结果集映射

sql的章程须求传入参数,借使存在多规格“或项目”的查询(列表查询的询问条件允许空),那就表示你必须传参进行sql拼接,纵然使用xml的方法也要命。要么各样工作单独安插xml中的sql,要么照旧写入java代码中,或许以工具的点子展开活动拼接。

Mybatis使用映射的格局,方便model管理参数,同时以解析器的方法将参数动态拼接到sql(sqlmaper里这一个标签),由于是model映射,连询问结果都能够统一映射,方便取出和平运动算。而且mybatis对查询结果集举行了缓存处理,使得重复查询进一步开始展览了优化。

4:对多重复sql进行复用封装

例如模板方法,将常用sql模块化,直接调用。比如通用的save和getID之类的,唯有表名和字段名有变化。

 

网站地图xml地图