zoukankan      html  css  js  c++  java
  • 【SpringMVC】SpringMVC执行原理,Mybatis分页插件的使用

    7).SpringMVC执行原理、MyBatis分页插件

    (1)Spring执行原理
    1)执行流程:
    ①浏览器发起了请求 "http://localhost:8888/SSM2/user/regist.do";
       请求路径 -----> 控制器的类对应的方法(/user/regist.do-----UserController.regist();)
    ②请求参数接受,转化,绑定
    ③执行控制器拦截控制器相应方法的访问之前的  [HandlerInterceptor]-控制器的拦截器 
    ④执行控制器 -----> ModelAndView[mav跳转返回值]
    ⑤执行控制器拦截器之后的一段代码。------mav[跳转返回值]
    ⑥将返回mav,解析出跳转路径,和跳转方式:"跳转方式:跳转路径"
    ⑦跳转:	request.getRequestDispatcher("路径").forward(req,resp);   	//请求转发
    		response.sendRedirect(项目名/路径);						//重定向
    2)执行原理:
     
    以上总结:
    DispatcherServlet: SpringMVC核心控制器
    作用:springmvc所有组件所有功能的核心控制器
    HandlerMapping: 控制器映射器
    作用:根据请求路径,找到对应控制器的方法
    HandlerAdapter:控制器适配器
    作用:	① 请求参数的接受,封装,转化
    			② 拦截器的调用过程
    			③ 调用控制器
    ViewResolver:视图解析器
    作用:根据控制器返回值 String|ModelAndView / 拦截器修改后mav
    			① 解析跳转方式
    			② 解析出跳转的路径
    			③ 解析出model中的数据,为了放入作用域。 
    (2)MyBatis分页插件:针对mybatis开发了插件
    	作用:
    ①接受pageNum和pageSize
    ②自动根据pageNum和pageSize计算start和end
    ③自动根据计算出的start和end,修改sql,改成分页结构,自动讲计算出来的start和end,绑定上去
    ④执行查询,将查询结果,返回list+count(page)
    使用:
    ①导入jar:
       		jsqlparser-1.2
       		pagehelper-5.1.2
    ②将插件配置在mybatis配置文件中,plugins标签(Spring环境下的SqlSessionFactoryBean的配置中)
     
    ③编码:
       //产生的效果
       //根据pageNum,pageSize获得Page<Object>对象
       //自动修改接下来紧跟着执行的查询语句,改为分页查询
       //自动讲pageNum和pageSize计算出来的start和end绑定sql
       第一步:	Page<Object> page = PageHelper.startPage(pageNum,pageSize); //获取到了Page对象
       第二步: List<实体> list = service.getAll(); //调用service查询
       第三步: 从page中将查询结果的list和表总数count封装:自定义的PageBean
    				pageBean.setList(list);	//查询到的list
    				pageBean.setPageNum(page.getPageNum());	//页码
    				pageBean.setPageSize(page.getPageSize()); //分页大大小
    			pageBean.setCount(page.getTotal()); 	//总行数
    
  • 相关阅读:
    24. Swap Nodes in Pairs
    2. Add Two Numbers
    【设计模式】结构型模式
    【设计模式】创建型模式
    【设计模式】初识
    【自考总结】走过的弯路,都是你成长的旅途
    【VMware vSphere】再谈VMware vSphere
    评估网站性能的专业术语
    C/S与B/S之辩
    【VMware vSphere】Veeam备份
  • 原文地址:https://www.cnblogs.com/jwnming/p/13635298.html
Copyright © 2011-2022 走看看