SSM框架整合思路(个人观点)
前言:ssm框架在做项目中使用极为频繁,为了专注项目中的业务代码,我便把ssm框架要使用的步骤整理出来,下图便是整理的结果。(图中标绿方块,是该过程的重点,每个项目中变化灵活,也是难点)
下面以图书CRUD为例子进行步骤讲解:
1.需求分析
做每个项目之前,要把项目的需求分析透彻,不然项目做到后面要修改的地方将会有很多,这一过程将很浪费时间,因此项目的需求分析好了,后面做起项目来将会得心应手。由于该项目要实现的图书CRUD操作比较简单,在这将不过多赘述。
2.编写数据库表
如果第一步的需求分析到位了,这一步操作起来将会很快,不过项目个别字段需要注意要引起重视,免得后面项目做得差不多了,再返回来修改数据库表。
下面代码是图书要创建的数据库表:
/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.7.19 : Database - ssmtest
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`ssmtest` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `ssmtest`;
/*Table structure for table `bookshop` */
DROP TABLE IF EXISTS `bookshop`;
CREATE TABLE `bookshop` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bookname` varchar(100) DEFAULT NULL,
`bookdetail` varchar(100) DEFAULT NULL,
`bookcounts` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
/*Data for the table `bookshop` */
insert into `bookshop`(`id`,`bookname`,`bookdetail`,`bookcounts`) values (1,'JAVA','从入门到放弃',11),(2,'Python','从入门到入土',12),(3,'C++','从工作到军事',13),(4,'MySQL','从删库到跑路',14),(5,'Linux','从学习到放弃',15);
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
3.新建maven并导入依赖
这一步是简单操作,基本按步骤走就可以了。
下面是ssm框架常用的依赖:
<dependencies>
<!--Junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!--Servlet - JSP -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--Mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
<!--Spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- Lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
</dependencies>
<!--在build中配置resources,来防止我们资源导出失败的问题-->