【SpringBoot】实现增删改查

目录结构

查询全部数据

  • controller

    复制代码
      //注入mapper
      @Autowired
      private UserMapper userMapper;
      //查询数据
      @GetMapping
      public List<User> getUser(){
          List<User> userList = userMapper.findAll();
          return userList;
      }
  • mapper

    复制代码
      @Select("SELECT * from sys_user")
      List<User> findAll();

增加数据

  • controller

    复制代码
      //新增数据
      @PostMapping
      public Integer adduser(@RequestBody User user){
          System.out.println(user);
          return userMapper.insert(user);
      }
  • mapper

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

修改数据

  • controller

    复制代码
      //修改用户
      @PostMapping("/updateuser")
      public Integer updateuser(@RequestBody User user){
          return userMapper.update(user);
      }
  • mapper

    复制代码
      int update(User user);
  • 动态sql mapper

    update sys_user username = #{username}, password = #{password}, nickname = #{nickname}, nickname = #{email} nickname = #{phone} id = #{id}

删除数据

  • controller

    复制代码
      //删除用户
      @DeleteMapping("/{id}")
      public Integer deletes(@PathVariable Integer id){
          return userMapper.deleteById(id);
      }
  • mapper

    复制代码
      @Delete("delete from sys_user where id = #{id}")
      Integer deleteById(Integer id);

分页查询

  • controller

    复制代码
      //分页查询
      @GetMapping("/pageList")
      public Object pageList(@RequestParam Integer  pageNum, @RequestParam Integer pageSize){
              pageNum = (pageNum - 1) * pageSize;
              //查询列表总数
              Integer selectTotal = userMapper.selectTotal();
              Map<String, Object> obj = new HashMap<>();
              obj.put("total",selectTotal);
              //分页数据
              List<User> data = userMapper.selectPage(pageNum,pageSize);
              obj.put("data",data);
              return obj;
      }
  • mapper

    复制代码
      //分页查询
      @Select("SELECT * from sys_user limit #{pageNum}, #{pageSize}")
      List<User> selectPage(@Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
      //查询总数
      @Select("select count(*) from sys_user")
      Integer selectTotal();
相关推荐
better_liang5 小时前
每日Java面试场景题知识点之-消息队列MQ核心场景与实战
java·面试·kafka·消息队列·rabbitmq·rocketmq·mq
小江的记录本5 小时前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
小马爱打代码5 小时前
Spring源码 第四篇:Spring 5 源码深度拆解:AOP 全流程核心原理
java·后端·spring
better_liang5 小时前
每日Java面试场景题知识点之-SpringBoot启动流程
java·面试·springboot·源码解析·启动流程
RyFit6 小时前
Java + AI 实战:Spring AI 从入门到企业级落地
java·人工智能·spring
ZhengEnCi7 小时前
01-如何监听接口调用情况?
java·spring boot·后端
JAVA面经实录9178 小时前
MyBatis学习体系
java·mybatis
java1234_小锋8 小时前
在 Spring AI 中如何实现函数调用(Function Calling)?请说明其基本原理和应用场景。
java·人工智能·spring
苏渡苇8 小时前
Spring Cloud Alibaba:将 Sentinel 熔断限流规则持久化到 Nacos 配置中心
数据库·spring boot·mysql·spring cloud·nacos·sentinel·持久化
小马爱打代码8 小时前
Spring源码 第九篇:Spring 5 源码深度拆解 - Spring 事件驱动模型
java·后端·spring