一个SSM整合小项目

本文通过一个实战项目,展示了如何整合Spring、SpringMVC和MyBatis来构建一个简单的后台管理系统,实现了增删改查功能。项目涉及数据库设计、Maven Web项目创建、XML配置、注解使用以及前端Ajax交互等技术。
摘要由CSDN通过智能技术生成

前面学完了 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
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值