Springboot整合SSM实现增删查改功能

附上项目代码Githup地址:https://github.com/liuxianzhi/springboot

1.开发环境

windows-10

springboot-2.0.5

maven-3.5.4

mysql-8.0.11

jdk-8

2首先创建一个springboot项目

扫描二维码关注公众号,回复: 3474787 查看本文章

3.我们先来看一下项目结构

实体类User.java

package com.demo.entity;
import org.springframework.stereotype.Component;

@Component
public class User {
    private Integer id;
    private String username;
    private String password;

    public Integer getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

 Dao层UserMapper.java

package com.demo.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import com.demo.entity.User;

import java.util.List;

@Repository
@Mapper
public interface UserMapper {
    User getUserById(Integer id);

    List<User> listAll();

    void addUser(User user);

    boolean updateUser(User user);

    boolean deleteUser(Integer id);

}

Service层以及实现类

package com.demo.service;


import com.demo.entity.User;

import java.util.List;

public interface UserService {
    User getUserById(Integer id);

    List<User> listAll();

    void addUser(User user);

    boolean updateUser(User user);

    boolean deleteUser(Integer id);
}
package com.demo.service.impl;

import com.demo.entity.User;
import com.demo.mapper.UserMapper;
import com.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public User getUserById(Integer id) {
        return userMapper.getUserById(id);
    }

    @Override
    public List<User> listAll(){
        return userMapper.listAll();
    }

    @Override
    public void addUser(User user) {
        userMapper.addUser(user);
    }

    @Override
    public boolean updateUser(User user) {
        return userMapper.updateUser(user);
    }

    @Override
    public boolean deleteUser(Integer id) {
        return userMapper.deleteUser(id);
    }
}

Controller层

package com.demo.controller;

import com.demo.entity.User;
import com.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @Autowired
    private User user;

    //访问注册页面
    @GetMapping("/register")
    public ModelAndView register(){
        ModelAndView mav = new ModelAndView("register");
        return mav;
    }

    //访问更新页面
    @GetMapping("/change")
    public ModelAndView change(){
        ModelAndView mav = new ModelAndView("change");
        return mav;
    }

    //添加用户
    @PostMapping("/add")
    public String addUser(@RequestParam("username")String username, @RequestParam("password")String password, HttpServletRequest request) {
        user.setUsername(username);
        user.setPassword(password);
        if(user.getUsername() !="" && user.getPassword() != ""){
            userService.addUser(user);
            return "添加成功!";
        }   else{
            return "添加失败!";
        }
    }

    //根据ID查询用户
    @GetMapping("/select/{id}")
    public User get(@PathVariable("id") Integer id) {
            return userService.getUserById(id);
    }

    //查询所有用户
    @RequestMapping("/list")
    public List<User> list(){
        return userService.listAll();
    }

    //更新用户
    @RequestMapping("/update")
    public String updateUser(@RequestParam("id") Integer id, @RequestParam("username") String username, @RequestParam("password") String password) {
        user.setId(id);
        user.setUsername(username);
        user.setPassword(password);
        if(id != null && username != "" && password != "") {
            userService.updateUser(user);
            return "修改成功!";
        }   else{
            return "修改失败!";
        }
    }

    //删除用户
    @RequestMapping("/delete/{id}")
    public String deleteUser(@PathVariable("id") Integer id) {
        if(userService.deleteUser(id)){
            return "删除成功!";
        }   else{
            return "删除失败!";
        }
    }

}

mapper.xml

<?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.demo.mapper.UserMapper">

    <select id="getUserById" resultType="user" parameterType="user">
        SELECT * FROM user where id = #{id}
    </select>

    <select id="listAll" resultType="user">
        SELECT * FROM user
    </select>

    <insert id="addUser" parameterType="user">
        INSERT INTO user(username,password) VALUES(#{username},#{password})
    </insert>

    <update id="updateUser" parameterType="user">
        UPDATE user SET username = #{username},password = #{password} where id = #{id}
    </update>

    <delete id="deleteUser" parameterType="user">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>

两个前台页面change.html 和 register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
<p>更新</p>
<form action="/update" method="post">
    <p>id:<input type="text" name="id" value=""></p>
    <p>username:<input type="text" name="username" /></p>
    <p>password:<input type="password" name="password" /></p>
    <p><input type="submit" value="update"/></p>
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
<p>注册</p>
    <form action="/add" method="post">
        <p>username:<input type="text" name="username" /></p>
        <p>password:<input type="password" name="password" /></p>
        <p><input type="submit" value="add"/></p>
    </form>
</body>
</html>

配置文件 application.yml

spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot?useSSL=false
    username: root
    password: 1234
  thymeleaf:
    prefix: classpath:/templates/
    suffix: .html
mybatis:
  type-aliases-package: com.demo.entity
  mapper-locations: classpath:mappers/*.xml

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>com.example</groupId>
    <artifactId>demo-test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo-test</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

数据库表字段:

好了 下面我们进行测试

添加数据

在浏览器中输入:http://localhost:8080/register

查询数据

一个是根据id查询:http://localhost:8080/select/1

一个是查询所有用户:http://localhost:8080/list

修改数据:

在浏览器中输入:http://localhost:8080/change

删除数据:

在浏览器中输入:http://localhost:8080/delete/1

到此,本篇文章结束!如果有什么问题,请多多指教!

猜你喜欢

转载自blog.csdn.net/qq_36978592/article/details/82899776
今日推荐