在学习本博客前需要先熟悉rouyi的CSMD并成功将ruoyi拉起。

目录

1.确定需求

2.配置数据库并添加数据

2.1建立users表

2.2向users表中插入数据

3. 添加CSMD 相关文件代码

3.1 Controller层

 3.2 Service层 

3.3 Mapper层

3.4 Domain层

4.屏蔽新加接口安全防护策略

5. Postman 测试新接口

5.1 GET操作

5.1.1获得所有用户信息

5.1.2获得特定用户信息​编辑

5.2 POST操作 

5.3 DEL操作

5.4 PUT操作 


1.确定需求

使用Postman工具来执行Ruoyi项目中的user表的CRUD操作

2.配置数据库并添加数据

在ruoyi的数据库中新建查询,执行sql代码

2.1建立users表

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    age INT,
    sex VARCHAR(10),
    create_time TIMESTAMP
);

2.2向users表中插入数据

INSERT INTO users (name, age, sex, create_time)
VALUES ('John Doe', 30, 'Male', NOW());
 
INSERT INTO users (name, age, sex, create_time)
VALUES ('Jane Smith', 25, 'Female', NOW());

新建完成后数据库的呈现应该是这个样子的 

3. 添加CSMD 相关文件代码

3.1 Controller层

package com.ruoyi.web.controller.system;

import com.ruoyi.system.domain.vo.User;
import com.ruoyi.system.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.List;

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

    // 获取所有用户信息
    @GetMapping("/hello")
    public List<User> getAllUsers() {
        return userService.selectAllUser();
    }

    // 获取特定用户信息
    @GetMapping("/hello/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.selectUserById(id);
    }

    // 创建新用户
    @PostMapping("/hello")
    public User createUser(@RequestBody User user) {
        // 设置 create_time 为当前时间
        user.setCreateTime(String.valueOf(LocalDateTime.now()));
        userService.createUser(user);
        return user;
    }


    // 更新用户信息
    @PutMapping("/hello/{id}")
    public User updateUser(@PathVariable Long id, @RequestBody User user) {
        user.setId(Math.toIntExact(id));
        userService.updateUser(user);
        return user;
    }

    // 删除用户
    @DeleteMapping("/hello/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}

 3.2 Service层 

package com.ruoyi.system.service;

import com.ruoyi.system.domain.vo.User;
import com.ruoyi.system.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

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

    public List<User> selectAllUser() {
        return userMapper.selectAllUser();
    }

    public User selectUserById(Long id) {
        return userMapper.selectUserById(id);
    }

    public void createUser(User user) {
        userMapper.createUser(user);
    }

    public void updateUser(User user) {
        userMapper.updateUser(user);
    }

    public void deleteUser(Long id) {
        userMapper.deleteUser(id);
    }
}

3.3 Mapper层

package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.vo.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {
    List<User> selectAllUser();
    User selectUserById(Long id);
    void createUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
}

<?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.ruoyi.system.mapper.UserMapper">
    <resultMap id="UserResult" type="User">
        <id     property="id"   column="id"     />
        <result property="name" column="name"   />
        <result property="age"  column="age"   />
        <result property="sex"  column="sex"   />
        <result property="createTime"  column="create_time"   />
    </resultMap>

    <select id="selectAllUser" resultMap="UserResult">
        select * from users
    </select>

    <select id="selectUserById" resultMap="UserResult">
        select * from users where id = #{id}
    </select>

    <insert id="createUser">
        insert into users (name, age, sex, create_time)
        values (#{name}, #{age}, #{sex}, #{createTime})
    </insert>

    <update id="updateUser">
        update users
        set name = #{name},
            age = #{age},
            sex = #{sex},
            create_time = #{createTime}
        where id = #{id}
    </update>

    <delete id="deleteUser">
        delete from users where id = #{id}
    </delete>

</mapper>

3.4 Domain层

package com.ruoyi.system.domain.vo;

public class User {
    public int id;
    private String name;
    private int age;
    public String sex;
    public String createTime;

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }
}

4.屏蔽新加接口安全防护策略

5. Postman 测试新接口

5.1 GET操作

5.1.1获得所有用户信息

5.1.2获得特定用户信息

5.2 POST操作 

{
    "name": "Alice Johnson",
    "age": 28,
    "sex": "Female",
    "create_time": "2023-10-26T23:07:58.857+08:00"
}

5.3 DEL操作

5.4 PUT操作 

Logo

快速构建 Web 应用程序

更多推荐