后端常用的mybatis-plus方法以及配合querywapper使用

server/2024/9/24 5:33:28/

目录

一、插入数据

        save方法

二、删除操作

        removeById方法

三、更新操作

        updateById方法

四、查询操作

       selectById方法

五、条件构造器QueryWrapper的更多用法

1.比较操作符

2.逻辑操作符

3.模糊查询

4.空值判断

一、插入数据

        save方法

save(T entity):向数据库中插入一条记录。

代码示例:

java">Student student = new Student();
student.setName("张三");
student.setAge(30);
studentMapper.save(student);

        配合QueryWrapper查询后插入(先查询是否存在再插入):

java">QueryWrapper<Student> queryWrapper = new QueryWrapper<>();queryWrapper.eq("name", "张三");Student existingStudent = studentMapper.selectOne(queryWrapper);if (existingStudent == null) {Student student = new Student();student.setName("张三");student.setAge(30);studentMapper.save(student);}

二、删除操作

        removeById方法

根据主键ID删除一条记录。

java">studentMapper.removeById(1L);

        remove方法配合QueryWrapper:根据自定义条件删除记录。

java">QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 30);
studentMapper.remove(queryWrapper);

三、更新操作

        updateById方法

根据主键 ID 更新一条记录。

java">Student student = new Student();
student.setId(1L);
student.setAge(30);
studentMapper.updateById(student);

        update方法配合QueryWrapper(批量更新):根据自定义条件更新符合条件的记录。

java">Student student = new Student();
student.setAge(30);
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "张三");
studentMapper.update(student, queryWrapper);

四、查询操作

       selectById方法

根据主键 ID 查询一条记录。

java">Student student = studentMapper.selectById(1L);

        selectOne方法配合QueryWrapper查询单条记录

java">QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三");
Student student = studentMapper.selectOne(queryWrapper);

        selectList方法配合QueryWrapper查询多条记录

java">QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.lt("age", 30);
List<Student> studentList = studentMapper.selectList(queryWrapper);

        selectPage方法配合QueryWrapper进行分页查询

java">QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("age");
Page<Student> page = new Page<>(1, 10);
IPage<Student> studentIPage = studentMapper.selectPage(page, queryWrapper);
ListStudent> studentList = studentIPage.getRecords();
long total = studentIPage.getTotal();

五、条件构造器QueryWrapper的更多用法

1.比较操作符

        eq:等于。

        ne:不等于。

        gt:大于。

        ge:大于等于。

        lt:小于。

        le:小于等于。

2.逻辑操作符

        and:连接多个条件(默认是and连接)。

        or:用于or连接条件。

java">QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三").or().eq("name", "李四");
List<Student> studentList = studentMapper.selectList(queryWrapper);

3.模糊查询

        like:左右模糊查询。

        notLike:左右不模糊查询。

        likeLeft:左模糊查询。

        likeRight:右模糊查询。

4.空值判断

        isNull:判断字段为null。

        isNotNull:判断字段不为null。

getone与last("limit 1")结合用


http://www.ppmy.cn/server/121190.html

相关文章

Java项目实战II基于Java+Spring Boot+MySQL的大型商场应急预案管理系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在快节奏的…

【Redis】Linux下安装配置及通过C++访问Redis

文章目录 一、Linux Centos 7.0版本下的安装及配置二、通过C访问Redis 一、Linux Centos 7.0版本下的安装及配置 通过源来安装&#xff0c;此次安装的版本为 redis 5.0 的&#xff0c;要通过其他源进行安装&#xff0c;首先安装 scl 源 yum install centos-release-scl-rh再安…

系统架构设计师:系统架构设计

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师:系统架构设计前言软件架构设计与生命周期SA 实现阶段主要关注的内容A…

基于量子通讯进行安全认证

8月16日,中国银行的一项发明专利“安全认证方法、装置、电子设备及计算机存储介质”授权公告。其申请于2022年6月29日,公布于2022年9月20日。据悉,该发明中应用了量子通讯/量子随机数相关技术。 事实上,近年来,有多家银行探索研究量子技术。在多家银行的2024半年报中,就…

SVN泄露 CTFHUB 解题笔记

参考大佬链接CTFHub | SVN泄露_ctfhubsvn泄露-CSDN博客 先下载插件 然后把GIT&#xff1b;里面的代码 乱盘上去 python2 不知道需不需要 先装了 再说。。。我的是裸机~ 开始作妖模式 Ubuntu 22.10 | Installati.one 上面一行的代码 链接 下面 插件 GITHUB页面下面的代码 d…

保障电气安全的电气火灾监控系统主要组成有哪些?

电气火灾是什么&#xff1f; 电气火灾一般是指由于电气线路、用电设备、器具以及供配电设备出现故障性释放的热能&#xff1a;如高温、电弧、电火花以及非故障性释放的能量&#xff1b;如电热器具的炽热表面&#xff0c;在具备燃烧条件下引燃本体或其他可燃物而造成的火灾&…

UART配置流程

S3C2440A 的通用异步收发器&#xff08;UART&#xff09;配有3 个独立异步串行I/O&#xff08;SIO&#xff09;端口&#xff0c;每个都可以是基于中断或基于DMA 模式的操作。换句话说&#xff0c;UART 可以通过产生中断或DMA 请求来进行CPU 和UART 之间的数据传输。UART 通过使…

ERNIESpeed-128K在线智能聊天机器人项目(附源码)

本项目是基于百度千帆的智能聊天模型ERNIESpeed-128K开发的 一、技术栈 后端&#xff1a;java8springboot2.6.13 数据库&#xff1a;MongoDB 前端&#xff1a;vue2element-uimarked&#xff08;md格式&#xff09; 二、MongoDB与对话存储的设计 使用MongoDB来储存对话&am…