【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

    <?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.spring2.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"> nickname = #{email} </if> <if test="phone != null"> nickname = #{phone} </if> </set> <where> id = #{id} </where> </update> </mapper>

删除数据

  • 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();
相关推荐
Pluto_CSND18 分钟前
基于mybatis-generator插件生成指定数据表的实体类、xml文件和dao层接口
mybatis
菜鸟233号19 分钟前
力扣647 回文子串 java实现
java·数据结构·leetcode·动态规划
qq_124987075325 分钟前
基于Java Web的城市花园小区维修管理系统的设计与实现(源码+论文+部署+安装)
java·开发语言·前端·spring boot·spring·毕业设计·计算机毕业设计
h7ml33 分钟前
查券返利机器人的OCR识别集成:Java Tesseract+OpenCV优化图片验证码的自动解析方案
java·机器人·ocr
野犬寒鸦35 分钟前
从零起步学习并发编程 || 第五章:悲观锁与乐观锁的思想与实现及实战应用与问题
java·服务器·数据库·学习·语言模型
Volunteer Technology39 分钟前
Sentinel的限流算法
java·python·算法
VX:Fegn089539 分钟前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
岁岁种桃花儿40 分钟前
SpringCloud从入门到上天:Nacos做微服务注册中心
java·spring cloud·微服务
jdyzzy41 分钟前
什么是 JIT 精益生产模式?它与传统的生产管控方式有何不同?
java·大数据·人工智能·jit
Chasmれ1 小时前
Spring Boot 1.x(基于Spring 4)中使用Java 8实现Token
java·spring boot·spring