前面学完了 ssm 框架,通过写这样一个小案例来巩固三个框架的知识,以及我忘得差不多的前端知识,由于只是个练手小项目,其中有些地方可能也没考虑周全,但用来练手足够了
源码链接:github地址
项目介绍:管理 IG 战队的选手信息表,实现增删改查功能
准备好了,那就来~吧
创建数据库环境,创建 Invictus_Gaming 表,存储 IG 战队队员
CREATE DATABASE ssm
USE ssm
CREATE TABLE `Invictus_Gaming`(
`playerId` INT(10) NOT NULL AUTO_INCREMENT COMMENT '选手id',
`playerTeamName` VARCHAR(30) NOT NULL COMMENT '选手队名',
`playerRealName` VARCHAR(30) NOT NULL COMMENT '选手姓名',
`playerAge` INT(10) NOT NULL COMMENT '选手年龄',
`detail` VARCHAR(30) NOT NULL COMMENT '选手描述',
PRIMARY KEY (`playerId`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
INSERT INTO `Invictus_Gaming`(`playerTeamName`, `playerRealName`, `playerAge`, `detail`)
VALUES('Rookie', '宋义进', 25, '你可以永远相信宋义进')
INSERT INTO `Invictus_Gaming`(`playerTeamName`, `playerRealName`, `playerAge`, `detail`)
VALUES('TheShy', '姜承録', 23, '天不生TheShy,LPL上单万古如长夜')
INSERT INTO `Invictus_Gaming`(`playerTeamName`, `playerRealName`, `playerAge`, `detail`)
VALUES('JackeyLove', '喻文波', 22, '堵上职业生涯的闪现')
INSERT INTO `Invictus_Gaming`(`playerTeamName`, `playerRealName`, `playerAge`, `detail`)
VALUES('Ning', '高振宁', 24, '2018年英雄联盟全球总决赛FMVP')
INSERT INTO `Invictus_Gaming`(`playerTeamName`, `playerRealName`, `playerAge`, `detail`)
VALUES('Baolan', '王柳羿', 23, '你们喷人可以,但你们上你们是真不行')
创建一个 maven web 项目,引入下面依赖
<!--导入依赖-->
<dependencies>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- lombok -->
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<!--<scope>provided</scope>-->
</dependency>
<!-- SpringMVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<!-- 日志 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- ServletAPI -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- Spring5和Thymeleaf整合包 -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
<version>3.0.12.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.1</version>
</dependency>
</dependencies>
<!--在 build 中配置 resources, 来防止我们资源导出失败问题-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
整合 mybatis
在 pojo 下建立数据库表的对应实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InvictusGaming {
private int playerId;
private String playerTeamName;
private String playerRealName;
private int playerAge;
private String detail;
}
在 dao 下创建实体类对应的 mapper 接口和 mapper.xml 文件
InvictusGamingMapper
public interface InvictusGamingMapper {
//添加一个队员
int addPlayer(InvictusGaming player);
//删除一个队员
int removePlayer(@Param("playerId") int playerId);
//修改队员信息
int updatePlayer(InvictusGaming player);
//查询一个队员信息
InvictusGaming selectPlayer(@Param("playerId") int playerId);
//查询全部队员信息
List<InvictusGaming> selectAll();
}
InvictusGamingMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhouyue.dao.InvictusGamingM