SSM整合 分页查询

一、先准备实体类Category 准备映射表category_

二、准备映射文件,映射sql语句

Category.xml需要和CategoryMapper放在同一个包下面,并且namespace必须写CategoryMapper的完整类名

1、CategoryMapper接口

2、Category.xml

三、Service层

service是业务层,是使用一个或多个模型执行操作的方法。 
1. 封装通用的业务逻辑,操作。 
如一些数据的检验,可以通用处理。 
2. 与数据层的交互。 
3. 其他请求:如远程服务获取数据,如第三方api等。

1.CategoryService接口

2.CategoryService接口实现类

CategoryServiceImpl被注解@Service标示为一个Service
并且装配了categoryMapper

service实现类实现了service接口,进行具体的业务操作。

  • 在java中接口是多继承的,而类是单继承的,如果你需要一个类实现多个service,你用接口可以实现,用类定义service就没那么灵活
  • 要提供不同的数据库的服务时,我们只需要面对接口用不同的类实现即可,而不用重复地定义类
  • 编程规范问题,接口化的编程为的就是将实现封装起来,然调用者只关心接口不关心实现,也就是“高内聚,低耦合”的思想。

 四、SpringMVC的控制层CategoryController

接收客户端的请求,然后调用Service层业务逻辑,所以这里自动装配了CategoryService,获取到数据,传递数据给视图层(客户端)用于视觉呈现

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

四、web.xml

在WEB-INF目录下新增加web.xml,这个web.xml有两个作用:
1. 通过ContextLoaderListener在web app启动的时候,获取contextConfigLocation配置文件的文件名applicationContext.xml,并进行Spring相关初始化工作
2. 有任何访问,都被DispatcherServlet所拦截,这就是Spring MVC那套工作机制了。

五、applicationContext.xml

在src目录下新建applicationContext.xml文件,这是Spring的配置文件,其作用

1. 通过注解,将Service的生命周期纳入Spring的管理

<context:annotation-config /><context:component-scan base-package="com.demo.service" />

2. 配置数据源

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

3. 扫描存放SQL语句的Category.xml

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">

4. 扫描Mapper,并将其生命周期纳入Spring的管理

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

六、springMVC.xml

七、listCategory.jsp

在WEB-INF下创建jsp目录,并创建文件listCategory.jsp。
在这个jsp文件中,通过forEach标签,遍历CategoryController传递过来的集合数据。

八、访问http://localhost:8080/SSM/listCategory

总结:

首先浏览器上访问路径 /listCategory
2. tomcat根据web.xml上的配置信息,拦截到了/listCategory,并将其交由DispatcherServlet处理。
3. DispatcherServlet 根据springMVC的配置,将这次请求交由CategoryController类进行处理,所以需要进行这个类的实例化
4. 在实例化CategoryController的时候,注入CategoryServiceImpl。 (自动装配实现了CategoryService接口的的实例,只有CategoryServiceImpl实现了CategoryService接口,所以就会注入CategoryServiceImpl)
5. 在实例化CategoryServiceImpl的时候,又注入CategoryMapper
6. 根据ApplicationContext.xml中的配置信息,将CategoryMapper和Category.xml关联起来了。
7. 这样拿到了实例化好了的CategoryController,并调用 list 方法
8. 在listCategory方法中,访问CategoryService,并获取数据,并把数据放在"cs"上,接着服务端跳转到listCategory.jsp去
9. 最后在listCategory.jsp 中显示数据

猜你喜欢

转载自blog.csdn.net/QingXu1234/article/details/82531172
今日推荐