springmvc 和 mybatis 整合

>> springmvc 和 mybatis 整合:springmvc_mybatis

~ 需求

使用springmvc和mybatis完成商品列表查询;

~ 整合思路

springmvc+mybatis的系统架构:

这里写图片描述

第一步:整合dao层:mybatis和springmvc整合,通过spring管理mapper接口;
使用mapper扫描器自动扫描mapper接口在spring中进行注册;
第二步:整合service:通过spring管理service接口;
使用配置方式将service接口配置在spring配置文件中,实现事务控制;
第三步:整合springmvc:由于springmvc是spring的模块,不需要整合;

~ 环境准备
1、搭建数据库,4张表:User、Orders、OrderDetail、OItems;
2、创建一个动态Javaweb项目:
3、加入需要的jar包:数据库驱动包、mybatis的jar包、mybatis和spring整合包、log4j的jar包、dbcp数据库连接池的jar包、spring所有jar包、jstl的jar包;

这里写图片描述

~ 整合dao

  • 1、配置mybatis自己的配置文件:SqlMapConfig.xml

这里写图片描述

2、配置mybatis和spring整合的配置文件:applicationContext-dao.xml

这里写图片描述

  • **3、逆向工程生成po类及mapper(单表的增删改查) :**将逆向工程生成的文件拷贝到项目中(mapper包和po包);
  • **4、创建po类:**商品信息的扩展类ItemsCustom.java 和 商品包装对象类ItemsQueryVo,java这里写图片描述
  • 5、手动定义商品查询mapper:ItemsMapperCustom.xmlItemsMapperCustom.java;针对综合查询mapper,一般情况会有关联查询,建议自定义mapper;

这里写图片描述

~ 整合service

让spring管理service接口;

  • 1、定义service接口ItemsService.java
  • 这里写图片描述

2、编写service接口实现类ItemsServiceImpl.java
这里写图片描述

3、在sprig容器中配置service(applicationContext-service.xml):
这里写图片描述

4、事务控制:在applicationContext-transaction.xml中使用spring声明式事务控制方法;
这里写图片描述

~ 整合springmvc

创建springmvc.xml文件,配置处理器映射器、适配器、视图解析器;

  • 1、配置springmvc.xml文件:这里写图片描述
  • **2、在web.xml文件中配置前端控制器:**参考入门程序;

这里写图片描述

3、编写Controller(就是Handler):

这里写图片描述

  • 4、编写jsp:

~ 加载spring的容器
在web.xml文件中,添加spring容器监听器,加载spring容器;将mapper、service、controller加载到spring容器中;建议使用通配符加载配置文件;
将applicationContext-dao.xml、applicationContext-service.xml、applicationContext-transaction.xml这三个配置文件添加到spring容器监听器中:

这里写图片描述

~ 调试及注意问题
访问地址:http://localhost:8080/springmvc_mybatis/queryItems.action

注意问题:Maven项目中,applicationContext-xxx.xml文件、springmvc.xml文件、db.properties文件等,都是放在src/main/resources目录下的,Tomcat部署项目时,src/main/resources目录下的配置文件默认位置为:{项目名}/WEB-INF/classes,而spring却默认在src/main/resources目录下寻找,肯定找不到,因此,配置时需要指定在classpath目录下寻找;

**Eg:**在applicationContext-dao.xml文件中加载配置文件、配置SqlSessionFactory;在web.xml文件中配置前端控制器;

这里写图片描述

 

发布了25 篇原创文章 · 获赞 23 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/lyfqyr/article/details/84031047