MybatisPlus常用增删改查

记录下MybatisPlus的简单的增删改查

接口概述

Service和Mapper区别

Mapper简化了单表的sql操作步骤(CRUD),而Serivce则是对Mapper的功能增强。

Service虽然加入了数据库的操作,但还是以业务功能为主,而更加复杂的SQL查询,还是要靠Mapper对应的XML文件里去编写SQL语句

常用增删改查

查询所有数据

java 复制代码
   /**
     * 查询所有数据
     */
    @GetMapping("/getUserList")
    public List<TrainUserEntity> getUserList() {
        return trainUserService.list();
    }

根据id查询

java 复制代码
  /**
     * 根据id查询数据
     */
    @GetMapping("/getUserById")
    public TrainUserEntity getUserById(@RequestParam String id) {
        return trainUserService.getById(id);
    }

根据条件查询

java 复制代码
   /**
     * 使用LambdaQueryWrapper查询指定年龄的人员
     */
    @Override
    public List<TrainUserEntity> getUserByAge(String age) {
        LambdaQueryWrapper<TrainUserEntity> userEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
        userEntityLambdaQueryWrapper.eq(TrainUserEntity::getAge, age);
        List<TrainUserEntity> list = trainUserMapper.selectList(userEntityLambdaQueryWrapper);
        return list;
    }

使用exists查询

查询有所属部门的人员

java 复制代码
  
    public List<TrainUserEntity> getUserInfo() {
        LambdaQueryWrapper<TrainUserEntity> wrapper = new LambdaQueryWrapper<>();
        wrapper.exists("SELECT 1 FROM DEPT WHERE DEPT.DID = USER.DEPTID");
        List<TrainUserEntity> userVOList = trainMapper.selectList(wrapper);
        return userVOList;
    }

生成的SQL:

sql 复制代码
SELECT id,name,age,address,deptid FROM user WHERE (EXISTS (SELECT 1 FROM DEPT WHERE DEPT.DID = USER.DEPTID))

使用xml查询



新增

java 复制代码
    /**
     * 新增
     *
     * @param trainUserEntity 需要插入的数据
     * @return 是否成功
     */
    @PostMapping("/saveUser")
    public boolean saveUser(@RequestBody TrainUserEntity trainUserEntity) {
        return trainService.save(trainUserEntity);
    }
java 复制代码
   /**
     * 新增数据
     */
    @Override
    public boolean add(TrainUserEntity trainUserEntity) {
        return trainMapper.add(trainUserEntity);
    }

删除

java 复制代码
    /**
     * 根据主键id删除一条数据
     *
     * @param id 主键id
     * @return 是否成功
     */
    @PostMapping("/removeById")
    public boolean deleteById(@RequestParam String id) {
        return trainService.removeById(id);
    }
java 复制代码
  /**
     * 根据主键id删除一条数据
     *
     * @param id 主键id
     * @return 删除数据的条数
     */
    @Override
    public int deleteById(String id) {
        LambdaQueryWrapper<TrainUserEntity> userEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
        userEntityLambdaQueryWrapper.eq(TrainUserEntity::getId, id);
        int result = trainMapper.delete(userEntityLambdaQueryWrapper);
        return result;
    }

修改

java 复制代码
   /**
     * id修改一条数据
     *
     * @param trainUserEntity 需要修改的数据
     * @return 修改结果
     */
    @PostMapping("/updateUser")
    public boolean updateUser(@RequestBody TrainUserEntity trainUserEntity) {
        return trainService.updateById(trainUserEntity);
    }
java 复制代码
    /**
     * 根据id更新实体数据
     */
    @Override
    public int modifyById(TrainUserEntity trainUserEntity) {
        LambdaUpdateWrapper<TrainUserEntity> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(TrainUserEntity::getId, trainUserEntity.getId())
                .set(TrainUserEntity::getName, trainUserEntity.getName())
                .set(TrainUserEntity::getAddress, trainUserEntity.getAddress());
        int result = trainMapper.update(null, updateWrapper);
        return result;
    }
相关推荐
圈圈编码17 分钟前
Spring Task 定时任务
java·前端·spring
俏布斯30 分钟前
算法日常记录
java·算法·leetcode
276695829234 分钟前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
爱的叹息36 分钟前
Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比
java·redis·spring
程序猿chen1 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
松韬1 小时前
Spring + Redisson:从 0 到 1 搭建高可用分布式缓存系统
java·redis·分布式·spring·缓存
绝顶少年2 小时前
Spring Boot 注解:深度解析与应用场景
java·spring boot·后端
心灵宝贝2 小时前
Tomcat 部署 Jenkins.war 详细教程(含常见问题解决)
java·tomcat·jenkins
天上掉下来个程小白2 小时前
Redis-14.在Java中操作Redis-Spring Data Redis使用方式-操作列表类型的数据
java·redis·spring·springboot·苍穹外卖
ゞ 正在缓冲99%…2 小时前
leetcode22.括号生成
java·算法·leetcode·回溯