Spring 整合 MyBatis 教程(SSM 整合)
前言
本文主要介绍 Spring + Spring MVC + MyBatis 整合(SSM),开发工具基于 Eclipse + Maven。值得一提的是,下文只给出 SSM 整合所需的最小配置内容,在生产环境需要适当优化项目的配置,尤其是 Log4j2
、Druid
的配置。完整的项目代码可以直接从 GitHub 下载对应章节 ssm-study
。
版本说明
名称 | 版本 |
---|---|
Spring | 4.3.2.RELEASE |
MyBatis | 3.4.1 |
Druid | 1.0.25 |
Log4j2 | 2.6.2 |
MySQL | 5.7.26 |
官方整合案例
准备工作
数据库初始化
本文的案例代码依赖以下数据库表结构,因此需要提前初始化好数据库才能运行项目。
1 | --- 创建数据库 |
创建 Maven Web 项目
在 Eclipse 内,提前创建好基于 Maven 的 Web 项目。由于篇幅有限,这里不再累述创建步骤,详细教程可看这里。
快速开始
引入 Maven 依赖
1 | <properties> |
创建项目配置文件
Log4j2 配置文件
在 /src/main/resources
目录下创建 log4j2.xml
配置文件,其中的配置内容如下:
1 |
|
数据库配置文件
在 /src/main/resources
目录下创建 db.properties
配置文件,其中的配置内容如下:
1 | root = |
MyBatis 配置文件
在 /src/main/resources
目录下创建 mybatis-config.xml
配置文件,用于存放 MyBatis 的全局核心配置信息,其中的配置内容如下:
1 |
|
Spring 配置文件
Spring MVC 配置文件
在 /src/main/resources
目录下创建 application-servlet.xml
配置文件,用于配置 Spring MVC 的运行,其中的配置内容如下:
1 |
|
Spring Context 配置文件
在 /src/main/resources
目录下创建 application-context.xml
配置文件,Spring 整合 MyBatis 的核心配置信息就写在里面(也就是定义 SqlSessionFactoryBean
的 Bean),其中的配置内容如下:
1 |
|
更改 web.xml 配置文件
更改 /src/main/webapp/WEB-INF
目录下的 web.xml
的配置文件,其中的配置内容如下:
1 |
|
项目核心代码
DAO 层
- EmployeeMapper
1 | package com.clay.mybatis.dao; |
Service 层
- EmployeeService
1 | package com.clay.mybatis.service; |
- EmployeeServiceImpl
1 | package com.clay.mybatis.service.impl; |
Controller 层
- HomePageController
1 | package com.clay.mybatis.controller; |
- EmployeeController
1 | package com.clay.mybatis.controller; |
JSP 页面代码
提示
根据上面的 web.xml
配置文件,JSP 页面的源文件统一存放在 /src/main/webapp/WEB-INF/pages
目录下。
- index.jsp
1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
- /employee/list.jsp
1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
SQL 映射文件
提示
根据上面的 application-context.xml
配置文件,SQL 映射文件统一存放在 /src/main/resources/mapper
目录下。
1 |
|
项目代码测试
在 Eclipse 内将项目部署到 Tomcat 服务器,然后浏览器打开 http://127.0.0.1:8080/ssm-study/employee/list/
,若看到下面的页面内容,则说明 Spring 成功整合了 MyBatis。