SpringBoot【SpringMVC+mybatis完成CRUD案例】

举报
波波烤鸭 发表于 2022/03/30 01:39:52 2022/03/30
【摘要】 文章目录 一、创建项目1.创建maven项目2.完成相关配置2.1 pom添加相关依赖2.2 全局配置文件2.3 表结构设计2.4 创建实体类 二、实现业务1.查询用户信息1.2 创建业...


一、创建项目

1.创建maven项目

创建maven项目
在这里插入图片描述

指定项目的相关maven坐标信息

在这里插入图片描述

配置项目相关的信息,比如项目名称及项目的存储位置

在这里插入图片描述
在这里插入图片描述

创建成功~

2.完成相关配置

2.1 pom添加相关依赖

在pom中添加相关的依赖:

 <!-- 配置依赖的父类 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.14</version>
    </dependency>
</dependencies>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

2.2 全局配置文件

  在main/src/resources目录下创建application.properties文件

在这里插入图片描述

# jdbc的相关配置信息
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ssm
spring.datasource.username=root
spring.datasource.password=123456
# 连接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# mybatis给package设置别名
mybatis.type-aliases-package=com.dpb.pojo

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2.3 表结构设计

&esmp; 创建如下的数据表

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`name` varchar(255) DEFAULT NULL, 
`age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

2.4 创建实体类

  创建user的实体类

/**
 * @program: springboot-ssm
 * @description: 用户的实体类
 * @author: 波波烤鸭
 * @create: 2019-05-15 19:41
 */
public class Users {

    private Integer id;

    private String name;

    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

二、实现业务

1.查询用户信息

1.1 创建mapper接口和映射配置文件,简单案例就没有使用mybatis的逆向工程生成相关文件了

/**
 * @program: springboot-ssm
 * @description: 用户实体对应的mapper接口
 * @author: 波波烤鸭
 * @create: 2019-05-15 19:46
 */
public interface UsersMapper {
    /**
     * 查询所有的用户信息
     * @return
     */
    List<Users> query();
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

映射文件,注意在resources下创建mapper文件,将映射文件放入此文件夹下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dpb.mapper.UsersMapper">
    <select id="query" resultType="Users">
        select * from t_user
    </select>
</mapper>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

application.properties中添加对应的设置

在这里插入图片描述

1.2 创建业务层

/**
 * @program: springboot-ssm
 * @description: 业务层的实现类
 * @author: 波波烤鸭
 * @create: 2019-05-15 19:55
 */
@Service
@Transactional
public class UserServiceImpl implements UsersService {

    @Resource
    private UsersMapper usersMapper;

    @Override
    public List<Users> query() {
        return usersMapper.query();
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

1.3 创建控制层

/**
 * @program: springboot-ssm
 * @description: 用户的控制层
 * @author: 波波烤鸭
 * @create: 2019-05-15 19:57
 */
@Controller
@RequestMapping("/users")
public class UsersController {

    @Resource
    private UsersService usersService;

    /**
     * 页面跳转
     */
    @RequestMapping("/{page}")
    public String showPage(@PathVariable String page){
        return page;
    }

    /**
     * 查询用户信息
     * @return
     */
    @RequestMapping("/query")
    public String queryUser(Model model){
        model.addAttribute("list",usersService.query());
        return "users";
    }

}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

1.4 创建展示页面

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>用户管理界面</title>
</head>
<body>
    <h1>用户管理</h1>
    <table border="1" style="width:300px;">
        <tr>
            <th>用户 ID</th>
            <th>用户姓名</th>
            <th>用户年龄</th>
        </tr>
        <tr th:each="user : ${list}">
            <td th:text="${user.id}"></td>
            <td th:text="${user.name}"></td>
            <td th:text="${user.age}"></td>
        </tr>
    </table>
</body>
</html>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

1.5 启动测试

  在com.dpb 下创建启动类

/**
 * @program: springboot-ssm
 * @description: 启动类
 * @author: 波波烤鸭
 * @create: 2019-05-15 19:39
 */
@SpringBootApplication
//@MapperScan 用户扫描MyBatis的Mapper接口
@MapperScan("com.dpb.mapper")
public class Start {
    public static void main(String[] args) {
        SpringApplication.run(Start.class,args);
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述

操作成功~

2.添加用户信息

2.1 mapper中增加添加用户的操作

void insertUser(Users users);

  
 
  • 1
<insert id="insertUser" parameterType="Users">
     insert into t_user(name,age)values(#{name},#{age})
 </insert>

  
 
  • 1
  • 2
  • 3

2.2 业务层

 @Override
 public void insertUser(Users users) {
     usersMapper.insertUser(users);
 }

  
 
  • 1
  • 2
  • 3
  • 4

2.3 控制层处理

    /**
     * 添加用户信息
     * @return
     */
    @RequestMapping("/save")
    public String insertUser(Users users){
        usersService.insertUser(users);
        return "redirect:/users/query";
    }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2.4 页面处理

userAdd.html页面

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>用户管理界面</title>
</head>
<body>
    <h1>添加用户</h1>
    <form th:action="@{/users/save}" method="post">
        用户姓名:<input type="text" name="name"/><br/>
        用户年龄:<input type="text" name="age"/><br/>
        <input type="submit" value="确定"/><br/>
    </form>
</body>
</html>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2.5 测试

在这里插入图片描述

在这里插入图片描述

3.修改用户信息

3.1 mapper层

    Users queryById(Integer id);

    void update(Users users);

  
 
  • 1
  • 2
  • 3
    <select id="queryById"  resultType="Users">
        select * from t_user where id = #{id}
    </select>

    <update id="update" parameterType="Users">
        update t_user set name=#{name},age=#{age} where id = #{id}
    </update>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.2 业务逻辑层

    @Override
    public Users queryUsersById(Integer id) {
        return this.usersMapper.queryById(id);
    }

    @Override
    public void updateUser(Users users) {
        this.usersMapper.update(users);
    }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3.3 控制层

    @RequestMapping("/updateInfo")
    public String updateInfo(Model model,Integer id){
        model.addAttribute("users",this.usersService.queryUsersById(id));
        return "/usersUpdate";
    }
    @RequestMapping("/update")
    public String updateUser(Users users){
        this.usersService.updateUser(users);
        return "redirect:/users/query";
    }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3.4 展示层

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>用户管理界面</title>
</head>
<body>
    <h1>添加用户</h1>
    <form th:action="@{/users/update}" method="post">
        <input type="hidden" name="id" th:value="${users.id}">
        用户姓名:<input type="text" name="name" th:value="${users.name}"/><br/>
        用户年龄:<input type="text" name="age" th:value="${users.age}"/><br/>
        <input type="submit" value="确定"/><br/>
    </form>
</body>
</html>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

3.5 测试

启动程序,访问演示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.删除用户信息

后台代码
控制层

@RequestMapping("/delete")
public String delete(Integer id){
    this.usersService.delete(id);
    return "redirect:/users/query";
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

业务层

 @Override
 public void delete(Integer id) {
     this.usersMapper.delete(id);
 }

  
 
  • 1
  • 2
  • 3
  • 4

mapper

 void delete(Integer id);

  
 
  • 1
<delete id="delete">
    delete from t_user where id=#{id}
</delete>

  
 
  • 1
  • 2
  • 3

页面处理

在这里插入图片描述

测试搞定

在这里插入图片描述

在这里插入图片描述

~好了,到此SpringBoot+SpringMVC+Mybatis+Thymeleaf的CRUD案例完成!

文章来源: dpb-bobokaoya-sm.blog.csdn.net,作者:波波烤鸭,版权归原作者所有,如需转载,请联系作者。

原文链接:dpb-bobokaoya-sm.blog.csdn.net/article/details/90244244

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。