1 总体要求
总体任务:整合 SpringMVC + Spring + MyBatis 框架,实现书城项目的增删改查以及检索功能。
网站架构依然采用前端 JSP + 控制层 Controller + 业务层 Service + 持久层 Dao + 数据库的形式。
其中:
- 数据库由 MySQL 管理;
- MyBatis 作为 持久层用来操作数据库;
- SpringMVC 作为控制层与前端就行数据交互;
- Spring 作为大杂烩托管持久层、业务层和控制层;
- 前端页面使用了 Bootstrap 这个 JavaScript 框架进行编写。
采用自底向上的设计流程,具体步骤如下:
- 数据库表的创建;
- 基本环境搭建;
- Mybatis 层编写;
- Spring 层编写;
- SpringMVC 层编写;
- 逻辑功能的编写。
1.1 演示视频
点击:传送门
2 数据库的创建
# 其中 `ssmbook` 为该项目数据库的名称,`book` 为对应的表名
CREATE DATABASE IF NOT EXISTS `ssmbook`;
USE `ssmbook`;
CREATE TABLE IF NOT EXISTS `book`(
`bookId` INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '书id',
`bookName` VARCHAR(100) NOT NULL COMMENT '书名',
`bookCount` INT(11) NOT NULL COMMENT '数量',
`detail` VARCHAR(200) NOT NULL COMMENT '描述'
)ENGINE=INNODB DEFAULT CHARSET=utf8;
USE `ssmbook`;
INSERT INTO `book`(`bookName`,`bookCount`,`detail`)VALUES
('人生',8,'作者为路遥,描述了一个人在人生各处的选择'),
('高效能人士的七个习惯',10,'作者为史蒂芬,描述了普通人所需要的七个习惯'),
('剑指 Offer ',9,'用来刷题');
3 基本环境搭建
1 新建一个 Maven 普通项目,并将该项目添加 Web 支持。
2 导入相关的 Maven 依赖,对应的 pom.xml 文件为:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sharm</groupId>
<artifactId>ssmbuild</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 经过实践证明,这段代码确实是必须要写的 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<!-- 导入依赖 -->
<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>
</dependencies>
<!-- 静态资源导出 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
3 建立基本结构和配置框架
4 Mybatis 层编写
该部分主要编写底层业务逻辑。
1 编写数据库配置文件 database.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbook?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc.username=root
jdbc.password=123456
2 编写数据库对应的实体类:sharm.pojo.Book文章来源:https://www.toymoban.com/news/detail-451420.html
package sharm.pojo;
public class Book {
public int bookId;
public String bookName;
public int bookCount;
public String detail;
// 省略无参和有参构造方法
// 省略各个属性的 getter 和 setter 方法
// 省略 toString 方法的重写
}
3 编写 Dao 层的 Mapper 接口:sharm.dao.BookMapper文章来源地址https://www.toymoban.com/news/detail-451420.html
package sharm.dao;
import org.apache.ibatis.annotations.Param;
import sharm.pojo.Book;
import java.util.List;
/**
* 接口约束的是方法
*/
public interface BookMapper {
// 增加一本书
public int addBook(Book book);
// 根据 id 删除一本书
// 好奇怪,明明对应的 sql 语句是不返回内容的,为什么还可以接收到 int 型的 1,难怪 SQL 语句执行成功会返回 1
public int deleteBookById(int id);
// 更新书
到了这里,关于基于SSM框架的项目:图书管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!