文章目录
零、源代码
源代码已上传至 GitHub:callmePicacho
建议搭配源代码使用
参考视频:
Mybatis教程IDEA版-4天-2018黑马SSM-01
Spring教程IDEA版-4天-2018黑马SSM-02
SpringMVC教程IDEA版-3天-2018黑马SSM-03
一、说明
1. 需求分析
- 从数据库读数据到前台
- 从前台插入数据到数据库
2. 效果图
3. 整合思路
- 先搭建整合环境
- 搭建 Spring 配置
- 使用 Spring 整合 SpringMVC
- 使用 Spring 整合 MyBatis
4. 环境
- IDE:IntelliJ IDEA 2018.1.3
- JDK:9.0.4
- Maven:3.6.1
- Tomcat:9.0.8
- Mysql:5.1.6
- Spring:5.0.2.RELEASE
- spring-web:5.0.2.RELEASE
- MyBatis:3.4.5
5. 架构
- Spring 作为业务层,整合 SpringMVC 和 MyBatis,处理数据
- SpringMVC 作为表现层,显示数据
- MyBatis 作为持久层,与数据库交互
二、搭建整合环境
0. 目标
- 数据库和表创建完成
- Maven 项目创建完成,并导入坐标
- MVC 架构创建完成
- xml 配置文件创建完成
- tomcat 服务器配置完成,并成功运行
0.1 目录结构
1. 创建数据库和表
CREATE DATABASE ssm;
USE ssm;
CREATE TABLE user(
id int primary key auto_increment,
name varchar(20),
age int
);
INSERT INTO user(name,age) VALUES('aaa',12);
INSERT INTO user(name,age) VALUES('bbb',34);
INSERT INTO user(name,age) VALUES('ccc',56);
2. 搭建 Maven 项目
- 创建 maven 项目
IDEA搭建Maven Web - 在 pom.xml 文件中引入坐标依赖
pom.xml 中,properties 标签改为:
dependencies 标签改为:<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <spring.version>5.0.2.RELEASE</spring.version> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version> <mysql.version>5.1.6</mysql.version> <mybatis.version>3.4.5</mybatis.version> </properties>
<dependencies> <!-- spring --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.8</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>compile</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- log start --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version