SSM:SpringMVC + Spring +MyBatis
SpringMVC:视图层,用于接收页面请求,显示处理结果
Spring:业务层,管理service,dao,工具类对象
Mybatis:持久层,访问数据库
用户发起请求—>SpringMVC接收—>Spring中调用的Service对象处理事务—>MyBatis处理数据
1、整合的思路
在进行整合时,有两个容器对象
1、SpringMVC容器,管理Controller控制器对象
2、Spring容器,管理Service,Dao,工具类对象
我们要把使用的对象交给合适的容器去创建,管理。
把Controller还有web开发相关对象交给SpringMVC容器,将这些web使用的对象写在springmvc配置文件中。
把Service,Dao对象定义在Spring的配置文件中,让Spring管理这些对象。
两个容器之间的关系:
SpringMVC容器是Spring的子容器,类似于Java中的子父类关系——子类可以访问父类的数据。
即在子容器SpringMVC中的Controller可以访问父容器Spring中的Service对象,就可以实现Controller使用Service对象。
2、整合的步骤
使用之前创建好的mybatis数据库,使用student表
1、创建maven web项目
2、加入依赖
springmvc,spring,mybatis三个框架的依赖,jackson依赖,mysql驱动,druid连接池,jsp,servlet依赖
1 | <dependencies> |
3、写web.xml
1、注册中央处理器DispatcherServlet,
目的:1、创建springmvc容器对象,才能创建Controller对象;2、创建的是Servlet,才能接收用户的请求。
2、注册监听器ContextLoaderListener,
目的:创建spring容器对象,才能创建service,dao等对象
3、注册字符集过滤器CharacterEncodingFilter,
目的:解决post请求乱码
1 |
|
4、创建包
创建controller、service、dao、bean包
5、写springmvc,spring,mybatis的配置文件
1、springmvc.xml
1 |
|
2、applicationContext.xml
1 |
|
3、mybatisConfig.xml
1 |
|
4、jdbc.properties
1 | jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=Asia/Shanghai |
6、编写各个包的代码
bean实体类
dao接口和mapper文件
1 | package com.zyz.dao; |
1 |
|
service及其实现类
1 | public interface EmployeeService { |
1 |
|
controller
1 |
|
7、编写页面
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |