当前位置: 首页 > news >正文

MybatisPlus常用增删改查

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

接口概述

在这里插入图片描述

Service和Mapper区别

Mapper简化了单表的sql操作步骤(CRUD),而Serivce则是对Mapper的功能增强。
Service虽然加入了数据库的操作,但还是以业务功能为主,而更加复杂的SQL查询,还是要靠Mapper对应的XML文件里去编写SQL语句

常用增删改查

查询所有数据

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

根据id查询

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

根据条件查询

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

使用exists查询

查询有所属部门的人员
在这里插入图片描述

  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:

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

在这里插入图片描述

使用xml查询

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

新增

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

删除

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

修改

   /*** id修改一条数据** @param trainUserEntity 需要修改的数据* @return 修改结果*/@PostMapping("/updateUser")public boolean updateUser(@RequestBody TrainUserEntity trainUserEntity) {return trainService.updateById(trainUserEntity);}
    /*** 根据id更新实体数据*/@Overridepublic 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;}
http://www.lryc.cn/news/535587.html

相关文章:

  • Citus的TPCC、TPCH性能测试
  • 蓝桥杯---颜色分类(leetcode第75题)题解
  • C语言基础13:循环结构 for和while
  • 六西格玛设计培训如何破解风电设备制造质量与成本困局
  • 【Android开发】安卓手机APP使用机器学习进行QR二维码识别
  • Zabbix-监控SSL证书有效期
  • 生成式聊天机器人 -- 基于Pytorch + Global Attention + 双向 GRU 实现的SeqToSeq模型 -- 上
  • Kickstart自动化安装过程中自动选择较小的磁盘安装操作系统
  • 基于进化式大语言模型的下一代漏洞挖掘范式:智能对抗与自适应攻防体系
  • 游戏引擎学习第99天
  • 脉冲当量含义
  • docker compose部署flink集群
  • docker compose快速部署kafka-connect集群
  • 【核心特性】Go 模块化开发入门(go mod 深度解析)
  • 国产ARM处理器工控机如何助力企业实现自主可控?
  • dns功能及工作原理是什么?
  • Java中的Map集合与文件操作详解
  • SAP-ABAP:dialog界面中的数据块Event Block详解举例
  • PostgreSQL 开发利器:Navicat 核心功能与资源攻略
  • 飞算 JavaAI:加速 AI + 行业趋势的智能化进程
  • XZ_Mac电脑上本地化部署DeepSeek的详细步骤
  • Flink-DataStream API
  • 2.4 构建模块化应用
  • DeepSeek:从入门到精通
  • JAVA学习第二天
  • DevOps工具链概述
  • windows系统远程桌面连接ubuntu18.04
  • kafka动态监听主题
  • Python虚拟环境管理工具 pyenv
  • 网络安全产品架构图 网络安全相关产品