Springboot后台管理系统(七)SpringBoot实现增删改查

SpringBoot实现增删改查

实现新增

UserController

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @PostMapping
    public Integer save(@RequestBody User user){
        //@RequestBody将前台json转换为user对象
        return userMapper.insert(user);
    }

    @GetMapping
    public List<User> index(){
        return userMapper.findAll();
    }
}

UserMapper

@Insert("INSERT into sys_user(username,password,nickname,email,phone,address) VALUES (#{username},#{password},#{nickname},#{email},#{phone},#{address});")
int insert(User user);

SQL


INSERT into sys_user(username,password,nickname,email,phone,address) 
VALUES("zhu","123456","猪头","zhu@qq.com","13677798889","高老庄");

postman测试接口
在这里插入图片描述

实现修改

进行判断用户的id是否为空,来分清楚是新增还是修改
UserController

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @Autowired
    private UserService userService;

    /**
     * 新增 or 更新
     */
    @PostMapping
    public Integer save(@RequestBody User user){
        //@RequestBody将前台json转换为user对象
        return userService.save(user);
    }

    @GetMapping
    public List<User> index(){
        return userMapper.findAll();
    }
}

UserService

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public int save(User user){
        if(user.getId() == null){
            //user没有id,表示是新增
            return userMapper.insert(user);
        }else{
            //否则,为更新
            return userMapper.update(user);
        }
    }


UserMapper

@Mapper
public interface UserMapper {

    /***
     * 查询所有数据
     * @return List<User>
     */
    @Select("select * from sys_user")
    List<User> findAll();

    /**
     * 添加数据
     * @param user
     * @return
     */
    @Insert("INSERT into sys_user(username,password,nickname,email,phone,address) VALUES (#{username},#{password},#{nickname},#{email},#{phone},#{address})")
    int insert(User user);


    /**
     * 更新数据
     * @param user
     * @return
     */
    int update(User user);
}

为了防止修改时,将一些数据置空,使用动态sql
User.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.example.springboot.mapper.UserMapper">
    <update id="update">
        update sys_user
        <set>
            <if test="username != null">
                username=#{username},
            </if>
<!--            <if test="password != null">-->
<!--                password=#{password}-->
<!--            </if>-->
            <if test="nickname != null">
                nickname=#{nickname},
            </if>
            <if test="email != null">
                email=#{email},
            </if>
            <if test="phone != null">
                phone=#{phone},
            </if>
            <if test="address != null">
                address=#{address}
            </if>

        </set>
        <where>
            id = #{id}
        </where>
    </update>
</mapper>

使用postman测试
在这里插入图片描述

出现错误
在这里插入图片描述

添加配置文件

mybatis:
  mapper-locations: mapper/*.xml

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

配置文件 增加控制台输出显示

mybatis:
  mapper-locations: mapper/*.xml #扫描所有mybatis的xml文件
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

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

删除

UserController

@DeleteMapping("/{id}")
public Integer delete(@PathVariable Integer id){
    return userMapper.deleteById(id);
}

UserMapper

@Delete("delete from sys_user where id = #{id}")
Integer deleteById(@Param("id") Integer id);

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

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值