MybatisPlus常用增删改查

server/2025/2/13 7:05:39/

记录下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查询指定年龄的人员*/@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查询

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

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:

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">   /*** 新增数据*/@Overridepublic 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 删除数据的条数*/@Overridepublic 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更新实体数据*/@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.ppmy.cn/server/167266.html

相关文章

《Coresight/Trace/Debug大合集》64节课16小时,6大主题, 685页PPT

CSDN学院课程连接&#xff1a;https://edu.csdn.net/course/detail/39573 虽然说当前已经完结了&#xff0c;但后续可能会持续更新。

【Day38 LeetCode】动态规划DP 子序列问题Ⅱ

一、动态规划DP 子序列问题Ⅱ 1、最长公共子序列 1143 确定dp数组含义&#xff0c;dp[i][j]表示长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列的长度。 dp转移关系&#xff0c;对于当前值dp[i][j], 分为text1[i - 1] 与 text2[j - 1]相同与…

PhotoShop中创建窗口使用对应按钮创建对应图层简单示例

以前在使用Photoshop的PSD文件转换成Unity的UI Prefab工具的时候&#xff0c;想过是否能在PhotoShop中创建“组件”方式创建层&#xff0c;然后通过代码给层做重命名&#xff0c;不需要手动改写层的名字&#xff0c;可以直接创建所需数量的图层并按照层级排列&#xff0c;具体思…

大模型deepseek-r1 本地快速搭建

1、安装部署ollama 详细步骤见&#xff1a;Ollama 下载和安装 官网下载地址&#xff1a;Ollama官网 2、大模型Deepseekk-r1下载 详细步骤见&#xff1a;大模型deepseek-r1 本地ollama部署详解 ollama run deepseek-r13、Open WebUI部署详解 详细见步骤&#xff1a;大模型d…

DeepSeek+图生生:电商制作商品图的高效方案,适合大众生图的AI工具

在电商红海竞争中&#xff0c;商品视觉呈现已成为流量争夺的核心战场。然而&#xff0c;传统拍摄模式面临多重瓶颈&#xff0c;成本高昂、效率低下等。 而DeepSeek与图生生的结合使用&#xff0c;正以“AI提示词智能生图”的协作模式&#xff0c;为商家提供零成本、分钟级、高…

蓝桥杯---N字形变换(leetcode第6题)题解

文章目录 1.问题重述2.例子分析3.思路讲解4.代码分析 1.问题重述 这个题目可以是Z字形变换&#xff0c;也可以叫做N字形变换&#xff1a; 给定我们一串字符&#xff0c;我们需要把这串字符按照先往下写&#xff0c;再往右上方去写&#xff0c;再往下去写&#xff0c;再往右上…

Python使用OpenCV图片去水印多种方案实现

1. 前言 本文为作者学习记录&#xff0c;使用Python结合OpenCV&#xff0c;总结了几种常见的水印去除方式&#xff0c;简单图片去水印效果良好&#xff0c;但是复杂图片有点一言难尽&#xff0c;本文部分代码仅供参考&#xff0c;并不能针对所有水印通用&#xff0c;需要根据具…

人生的转折点反而迷失了方向

就像我老婆说的&#xff0c;我是抽空结了一个婚。今天是上班的第三天&#xff0c;不知道是出于何种原因&#xff0c;自己反而陷入了深深的困境&#xff0c;没有了斗志&#xff0c;原因也找不出来&#xff0c;白天在公司没有很大量的产出&#xff0c;晚上回去是想学一学&#xf…