整合ssm三大框架使用注解开发查询用户信息
整合ssm三大框架使用注解开发查询用户信息
一、基础知识准备之spring mvc工作原理

二、分析
第一步:发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求HandlerMapping查找 Handler
可以根据xml配置、注解进行查找
第三步:处理器映射器HandlerMapping向前端控制器返回Handler
第四步:前端控制器调用处理器适配器去执行Handler
第五步:处理器适配器去执行Handler
第六步:Handler执行完成给适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView
ModelAndView是springmvc框架的一个底层对象,包括 Model和view
第八步:前端控制器请求视图解析器去进行视图解析
根据逻辑视图名解析成真正的视图(jsp)
第九步:视图解析器向前端控制器返回View
第十步:前端控制器进行视图渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
第十一步:前端控制器向用户响应结果
组件:
1、前端控制器DispatcherServlet(不需要程序员开发)
作用接收请求,响应结果,相当于转发器,中央处理器。
有了DispatcherServlet减少了其它组件之间的耦合度。
2、处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的url查找Handler
3、处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
4、处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
5、视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
6、视图View(需要程序员开发jsp)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf...)
三、程序
1、需求
用户列表信息查询
2、环境准备
数据库环境:mysql-5.5.28-winx64

java环境:
jdk1.8
Intellij IDEA
springmvc版本:spring4.3.3
需要spring4.3.3所有jar(一定包括spring-webmvc-4.3.3.RELEASE.jar)
需要mybatis 的jar包,以及spring 和 mybatis 整合包
需要数据库连接池jar包druid-1.0.18.jar等其他数据格式处理包,如图
|
access-bridge-64.jar aopalliance-1.0.jar commons-logging-1.2.jar druid-1.0.18.jar jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-databind-2.5.0.jar joda-time-2.1.jar mybatis-3.2.2.jar mybatis-spring-1.1.1.jar mysql-connector-java-5.1.20-bin.jar spring-aop-4.3.3.RELEASE.jar spring-aspects-4.3.3.RELEASE.jar spring-beans-4.3.3.RELEASE.jar spring-context-4.3.3.RELEASE.jar spring-context-support-4.3.3.RELEASE.jar spring-core-4.3.3.RELEASE.jar spring-expression-4.3.3.RELEASE.jar spring-instrument-4.3.3.RELEASE.jar spring-instrument-tomcat-4.3.3.RELEASE.jar spring-jdbc-4.3.3.RELEASE.jar spring-jms-4.3.3.RELEASE.jar spring-messaging-4.3.3.RELEASE.jar spring-orm-4.3.3.RELEASE.jar spring-oxm-4.3.3.RELEASE.jar spring-test-4.3.3.RELEASE.jar spring-tx-4.3.3.RELEASE.jar spring-web-4.3.3.RELEASE.jar spring-webmvc-4.3.3.RELEASE.jar spring-webmvc-portlet-4.3.3.RELEASE.jar spring-websocket-4.3.3.RELEASE.jar |
3、配置前端控制器
在web.xml中配置前端控制器。
|
<?xml version="1.0" encoding="UTF-8"?> |
4、主要配置文件
配置注解映射器和适配器
以及在spring容器中加载Handler(即为controller)
以及配置:
数据源
SqlSessionFactory
mapper扫描器
|
<?xml version="1.0" encoding="UTF-8"?>
|
5:业务代码
Controller(Handler)
|
package com.controller; import com.dao.StudentMapper; import java.util.List; /** } }
|
dao(接口)
|
package com.dao; import com.domain.Student; import java.util.List; /**
|
domain(实体类)
|
package com.domain; /** public String getId() { public void setId(String id) { public String getName() { public void setName(String name) {
|
mapper(映射文件)
|
<?xml version="1.0" encoding="UTF-8" ?>
|
查询结果

整合ssm三大框架使用注解开发查询用户信息的更多相关文章
- 学习SpringBoot整合SSM三大框架源码之SpringBoot
Spring Boot源码剖析 一.Spring Boot 项目的启动入口流程分析 Spring Boot项目的启动入口main线程上有一个@SpringBootApplication( @Confi ...
- 整合SSH三大框架用注解时报An AnnotationConfiguration instance is required to use
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 's ...
- MyBatis框架之注解开发
MyBatis注解开发 @Insert注解注解属性value:写入SQL语句 @Options注解实现添加新数据的主键封装注解属性useGeneratedKeys:使用生成的主键,配置为truekey ...
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)【转】
使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)(转)
使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...
- SSM三大框架整合详细教程
使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- SpringMVC详解(四)------SSM三大框架整合之登录功能实现
为了后面讲解的需要,我们取数据都会从数据库中获取,所以这里先讲讲三大框架(Spring.SpringMVC.MyBatis)的整合.前面讲解 MyBatis 时,写了一篇 MyBatis 和 Spri ...
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis
原博主链接:( http://blog.csdn.net/zhshulin ) 使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么 ...
随机推荐
- 小白学数据分析--留存率分析_I次日留存率突然下降了50%
小白学数据分析--留存率分析_I次日留存率突然下降了50% 最近在做留存分析时,遇到了不少的情况,也经常会有人问我,为什么我的游戏突然次日留存率降了一半.如果留存率是单单作为一个简单的指标的话,那对你 ...
- html5 WebSocket的Js实例教程
详细解读一个简单+ ,附带完整的javascript websocket实例源码,以及实例代码效果演示页面,并对本实例的核心代码进行了深入解读. 从WebSocket通讯三个阶段(打开握手.数据传递. ...
- 12 (H5*) JS第二天 流程控制:顺序结构、分支结构、循环结构
目录 1:一元运算符 2:流程控制 3:分支之if语句 4:分支之if-else语句 5:分支语句之三元运算符 6:if和else if语句 7:switch-case语句 8:while循环 9:d ...
- Socket服务端和客户端文件传输
很多朋友在使用socket编程时不可避免的都做过文件传输,而视频电影等需要一个字节一个字节的传输:但是客户端一般都通过-1进行终止,服务也一样:但是存在的问题是客户端永远不会把-1传递给服务端:因此经 ...
- java基础常问面试题
1.面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机.嵌入式开发.Linux/Unix ...
- SpringBoot 整合 MybatisPlus (项目的创建及简单的单表查询)
添加依赖 <!--mybatis-plus的springboot支持--> <dependency> <groupId>com.baomidou</group ...
- [Codeforces 1197E]Culture Code(线段树优化建图+DAG上最短路)
[Codeforces 1197E]Culture Code(线段树优化建图+DAG上最短路) 题面 有n个空心物品,每个物品有外部体积\(out_i\)和内部体积\(in_i\),如果\(in_i& ...
- Django之视图(V)
Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...
- V-Parenthesis 前缀+ZKW线段树或RMQ
Bobo has a balanced parenthesis sequence P=p 1 p 2…p n of length n and q questions. The i-th questio ...
- 搜索(DFS)---填充封闭区域
填充封闭区域 130. Surrounded Regions (Medium) For example, X X X X X O O X X X O X X O X X After running y ...