1.在若依的数据库中创建数据库表

新建user表

设置deleteUser属性(用于逻辑删除)

 2.在Ruoyi Vue中创建并编写CSDM文件

Controller层

package com.ruoyi.web.controller.system;

import com.ruoyi.system.domain.User;
import com.ruoyi.system.service.UserService;
import nonapi.io.github.classgraph.json.Id;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;

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

    /**
     * 获取表单成员
     * @return
     */
    @GetMapping("/hello")
    public List<User> hello() {
        return userService.selectAllUser();
    }

    /**
     * 单个增加表单成员
     * @param user id
     * @return
     */
    @PostMapping("/hello")
    public int insertUser(@RequestBody User user) {
        return userService.insertUser(user);
    }

    /**
     * 更新单个表单成员
     * @param user id
     * @return
     */
    @PutMapping("/hello")
    public int updateUser(@RequestBody User user) {
        return userService.updateUser(user);
    }

    /**
     * 逻辑删除单个表单成员
     * @param user id
     * @return
     */
    @DeleteMapping("/hello")
    public int deleteUser(@RequestBody User user){
        return userService.deleteUser(user);
    }
}

Service层

package com.ruoyi.system.service;

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

import javax.validation.constraints.NotNull;
import java.util.List;

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

    /**
     * 获取表单成员
     * @return
     */
    public List<User> selectAllUser() {
        return userMapper.selectAllUser();
    }

    /**
     * 单个增加表单成员
     * @param user id
     * @return
     */
    public int insertUser(User user) {
        return userMapper.insertUser(user);
    }

    /**
     * 更新单个表单成员
     * @param user id
     * @return
     */
    public int updateUser(User user) {
        return userMapper.updateUser(user);
    }

    /**
     * 逻辑删除单个表单成员
     * @param user id
     * @return
     */
    public int deleteUser(User user){
        return  userMapper.deleteUser(user);
    }
}

Mapper层

package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.User;
import org.springframework.stereotype.Repository;

import javax.validation.constraints.NotNull;
import java.util.List;

@Repository
public interface UserMapper {
    public List<User> selectAllUser();

    int insertUser(User user);

    int updateUser(User user);

    int deleteUser(User user);


}

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.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"/>
        <result property="deleteUser" column="deleteUser"/>
    </resultMap>

    <select id="selectAllUser" resultMap="UserResult">
        select *
        from user where deleteUser = 0;
    </select>

    <insert id="insertUser">
        insert into user
        values (null, #{name}, #{age}, #{sex}, #{createTime},#{deleteUser})
    </insert>

    <update id="updateUser">
        update user
        <set>
            <if test="name != null and name != ''">name = #{name},</if>
            <if test="age != null and age != ''">age = #{age},</if>
            <if test="sex != null and sex != ''">sex = #{sex},</if>
            <if test="createTime != null and createTime != ''">create_time = #{createTime}</if>
        </set>
        where id = #{id}
    </update>

    <delete id="deleteUser">
        update user
        set deleteUser = 1
        where id = #{id}
    </delete>

</mapper>

Domain层

package com.ruoyi.system.domain;

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

    public int getDeleteUser() {
        return deleteUser;
    }

    public void setDeleteUser(int deleteUser) {
        this.deleteUser = deleteUser;
    }

    public int deleteUser;


    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

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

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

    public int getId() {
        return id;
    }

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

    public int getSex() {
        return sex;
    }

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

    public String getCreateTime() {
        return createTime;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex=" + sex +
                ", createTime='" + createTime + '\'' +
                ", delete=" + deleteUser +
                '}';
    }
}

3.Postman测试

输入接口,点击send

 数据正常显示

改为POST,在Bady raw中写入数据,点击send

 换回GET,点击Send

 接收到新增的数据

切换到PUT,将id18的age属性改为18,点击Send

返回GET,点击Send

 

 修改成功

删(逻辑删除)

切换到DELETE,将id18删除

返回GET,点击Send

 

可以发现18已结“删除”了

返回数据库表

 

我们可以看到,id18并没有被删除,只是deleteUser属性值被改为了1

根据查询代码可知 只有当deleteUser值为0时才能被查询命名查询到

 我们的delete知识将deleteUser的值改为了1

 所以数据实际是存在的,只是我们查询不到

Logo

快速构建 Web 应用程序

更多推荐