Mybatis-Plus——06,CRUD查

news/2024/4/16 15:04:31/文章来源:https://blog.csdn.net/weixin_42858422/article/details/131543124

CRUD查

    • 一、普通查询
      • 1.1、通过id查询单个用户
      • 1.2、通过id查询多个用户
      • 1.3、条件查询 通过map封装
    • 二、分页查询
      • 2.1、配置分页插件
      • 2.2、运行方法
    • 三、通过wrapper条件构造器查询
      • 3.1、查询name不为空,email不为空,age大于18的用户
      • 3.2、查询name=Jone的用户
      • 3.3、查询age在10-20之间的用户
      • 3.4、模糊查询 name不包含s,likeRight = t% 匹配第一个t开头
      • 3.5、查询出id 小于 5 的数据
      • 3.6、查询所有,并根据id进行排序
      • 3.7、查询姓名为测试、年龄为18,的第一条数据。
    • 四、关于service跟mapper方法,参考官网
        • ————————
        • 创作不易,笔记不易,如觉不错,请三连,谢谢~~

一、普通查询

1.1、通过id查询单个用户

	@Test//通过id查询单个用户public void testSelectById(){User user = userMapper.selectById(1L);System.out.println(user);}

1.2、通过id查询多个用户

 	@Test//通过id查询多个用户public void testSelectBatchIds(){List<User> users = userMapper.selectBatchIds(Arrays.asList(1L, 2L, 3L));users.forEach(System.out::println);}

1.3、条件查询 通过map封装

@Test//通过条件查询之一  mappublic void testMap(){HashMap<String, Object> map = new HashMap<>();//自定义要查询的map.put("name","Jack");map.put("age",18);List<User> users = userMapper.selectByMap(map);users.forEach(System.out::println);}

二、分页查询

2.1、配置分页插件

在这里插入图片描述

2.2、运行方法

查询第2页,页面大小为5

在这里插入图片描述
看一下数据库的数据,是否匹配

在这里插入图片描述

三、通过wrapper条件构造器查询

3.1、查询name不为空,email不为空,age大于18的用户

    @Testpublic void testWrapper1() {//参数是一个wrapper ,条件构造器QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.isNotNull("name").isNotNull("email").ge("age",18);List<User> userList = userMapper.selectList(wrapper);userList.forEach(System.out::println);}

3.2、查询name=Jone的用户

    @Testpublic void testWrapper2() {QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.eq("name","Jack");//查询一个数据selectOne,若查询出多个会报错//Expected one result (or null) to be returned by selectOne(), but found: *//若出现多个结果使用list或mapUser user = userMapper.selectOne(wrapper); //查询一个数据,若出现多个结果使用list或mapSystem.out.println(user);}

3.3、查询age在10-20之间的用户

    @Testpublic void testWrapper3() {QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.between("age", 15, 25);//区间Integer count = userMapper.selectCount(wrapper);//输出查询的数量selectCountSystem.out.println(count);}

3.4、模糊查询 name不包含s,likeRight = t% 匹配第一个t开头

    @Testpublic void testWrapper4() {QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.notLike("name","s").likeRight("email","t");List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);maps.forEach(System.out::println);}

3.5、查询出id 小于 5 的数据

    @Testpublic void testWrapper5() {//模糊查询// SELECT id,name,age,email,version,deleted,create_time,update_time//FROM user//WHERE deleted=0 AND id IN//(select id from user where id<5)QueryWrapper<User> wrapper = new QueryWrapper<>();//id 在子查询中查出来wrapper.inSql("id","select id from user where id<5");List<Object> objects = userMapper.selectObjs(wrapper);objects.forEach(System.out::println);}

3.6、查询所有,并根据id进行排序

    @Testpublic void testWrapper6() {QueryWrapper<User> wrapper = new QueryWrapper<>();//通过id进行降序排序wrapper.orderByDesc("id");List<User> userList = userMapper.selectList(wrapper);userList.forEach(System.out::println);}

3.7、查询姓名为测试、年龄为18,的第一条数据。

    /*** .last表示拼接到sql的最后* 如果用service就是.list,如果用mapper就是.selectList* 返回值功能都是一样的,只是方法名不同*//*** 查询姓名为测试、年龄为18,的第一条数据。*/@Testpublic void testWrapper7(){QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.eq("name","测试");wrapper.eq("age","18");wrapper.last("limit 1");//QueryWrapper<User> last = wrapper.last("limit 1");//List<User> users = userService.list(wrapper);      //第一种方式是通过service去查List<User> users = userMapper.selectList(wrapper);    //第二种方式是通过Mapper去查users.forEach(System.out::println);}

四、关于service跟mapper方法,参考官网

https://baomidou.com/pages/49cc81/#service-crud-%E6%8E%A5%E5%8F%A3

在这里插入图片描述

————————
创作不易,笔记不易,如觉不错,请三连,谢谢~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_998405.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用Python副业赚钱,看完这篇你就懂了!_自学python能干些什么副业?

Python都可以做哪些副业&#xff1f; 1、兼职处理数据Excel整理数据功能虽然很强大&#xff0c;但在Python面前&#xff0c;曾经统治职场的它也的败下阵来。因为Python在搜集数据整理分析数据的过程中更加便捷&#xff0c;通过几行代码还可以实现自动化操作。 如果你学会Pyth…

大数据技术学习笔记(五)—— MapReduce(1)

目录 1 MapReduce 概述1.1 MapReduce 定义1.2 MapReduce 优缺点1.3 MapReduce 核心思想1.4 MapReduce 进程1.5 Hadoop 序列化类型1.6 MapReduce 编程规范1.7 WordCount 案例实操1.7.1 案例需求1.7.2 环境准备1.7.3 编写程序1.7.4 测试 2 MapReduce 序列化2.1 序列化概述2.2 自定…

Java数组常用操作

创建数组 int[] a {1,2,3};int[] a new int[]{1,2,3};int[] a new int[3];ArrayList<Integer> arr new ArrayList<>(); 添加元素 arr.add(99); //将99加入到数组末尾arr.add(3,99); //将99加入到指定索引3处访问元素 int c1 c[1]; int arr1 arr.get(1); …

kafka报文模拟工具的使用

日常项目中经常会碰到消费kafka某个topic的数据&#xff0c;如果知道报文格式&#xff0c;即可使用工具去模拟发送报文&#xff0c;以此测试代码中是否能正常消费到这个数据。 工具资源已上传&#xff0c;可直接访问连接下载&#xff1a;https://download.csdn.net/download/w…

【AI+应用】模仿爆款视频二次创作短视频操作步骤

本来不想水这篇的&#xff0c; 剪辑软件估计很多人用的比我还6。 今天自己遇到1个需求&#xff0c;我看到一篇公众号文章的视频觉得有意思&#xff0c;但视频有点长&#xff0c;我没带耳机看视频的习惯&#xff0c;就想着能不能下载下来&#xff0c; 提取视频的音频转为文字&am…

听 GPT 讲 client-go 源代码 (21)

分享更多精彩内容&#xff0c;欢迎关注&#xff01; File: client-go/applyconfigurations/storage/v1beta1/volumeattachmentstatus.go 在client-go中&#xff0c;client-go/applyconfigurations/storage/v1beta1/volumeattachmentstatus.go文件是用于处理VolumeAttachmentSta…

即插即用篇 | YOLOv8 引入 ParNetAttention 注意力机制 | 《NON-DEEP NETWORKS》

论文名称:《NON-DEEP NETWORKS》 论文地址:https://arxiv.org/pdf/2110.07641.pdf 代码地址:https://github.com/imankgoyal/NonDeepNetworks 文章目录 1 原理2 源代码3 添加方式4 模型 yaml 文件template-backbone.yamltemplate-small.yamltemplate-large.yaml

Redis中的SCAN渐进式扫描底层原理

Scan渐进式扫描原理 概述 由于Redis是单线程再处理用户的命令&#xff0c;而Keys命令会一次性遍历所有key&#xff0c;于是在命令执行过程中&#xff0c;无法执行其他命令。这就导致如果Redis中的key比较多&#xff0c;那么Keys命令执行时间就会比较长&#xff0c;从而阻塞Re…

MySQL面试题-锁(答案版)

锁 1、MySQL 有哪些锁&#xff1f; &#xff08;1&#xff09;全局锁 加了全局锁之后&#xff0c;整个数据库就处于只读状态了&#xff0c;这时其他线程执行以下操作&#xff0c;都会被阻塞&#xff1a; 对数据的增删改操作&#xff0c;比如 insert、delete、update等语句&…

JavaScript极速入门(2)

JQuery W3C标准给我们提供了一系列函数,让我们可以操作: 网页内容 网页结构 网页样式 但是原生的JavaScript提供的API操作DOM元素时,代码比较繁琐,冗长.我们学习使用JQuery来操作页面对象. JQuery是一个快速,简洁且功能丰富的JavaScript框架,于2006年发布.它封装JavaScript常…

用开发CesiumJS模拟飞机飞行应用(一,基本功能)

本部分向您展示如何构建您的第一个 Cesium 应用程序&#xff0c;以可视化模拟从旧金山到哥本哈根的真实航班&#xff0c;并使用 FlightRadar24收集的雷达数据。您将学习如何&#xff1a; 在网络上设置并部署您的 Cesium 应用程序。 添加全球 3D 建筑物、地形和图像的基础图层。…

微服务架构 | 多级缓存

INDEX 通用设计概述2 优势3 最佳实践 通用设计概述 通用设计思路如下图 内容分发网络&#xff08;CDN&#xff09; 可以理解为一些服务器的副本&#xff0c;这些副本服务器可以广泛的部署在服务器提供服务的区域内&#xff0c;并存有服务器中的一些数据。 用户访问原始服务器…

【2024.03.05】定时执行专家 V7.1 发布 - TimingExecutor V7.1 Release

目录 ▉ 软件介绍 ▉ 新版本 V7.1 下载地址 ▉ V7.1 新功能 ▼2024-03-03 V7.1 - 更新日志 ▉ V7.0 新UI设计 ▉ 软件介绍 《定时执行专家》是一款制作精良、功能强大、毫秒精度、专业级的定时任务执行软件。软件具有 25 种【任务类型】、12 种【触发器】触发方式&#x…

【Python】成功解决TypeError: ‘float‘ object is not iterable

【Python】成功解决TypeError: ‘float’ object is not iterable &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得…

2024 GoLand激活,分享几个GoLand激活的方案

文章目录 GoLand公司简介我这边使用GoLand的理由GoLand 最新变化GoLand 2023.3 最新变化AI Assistant 正式版GoLand 中的 AI Assistant&#xff1a;_Rename_&#xff08;重命名&#xff09;GoLand 中的 AI Assistant&#xff1a;_Write documentation_&#xff08;编写文档&…

Kubernetes(k8s第四部分之servers)

1&#xff0c;为什么不使用round-robin DNS&#xff1f; 因为DNS有缓存&#xff0c;不会清理&#xff0c;无法负载均衡 ipvs代理模式&#xff0c;这种模式&#xff0c;kube-proxy会监视Kubernetes Service 对象和Endpoints&#xff0c;调用netlink接口以相应地创建ipvs规则并…

HTML使用

文章目录 一、简介二、HTML快速入门三、基础标签四、图片、音频、视频标签五、超链接标签六、列表标签七、表格标签八、布局标签九、表单标签十、表单向标签 一、简介 二、HTML快速入门 ​ <html><head><title>你好</title></head><body>再…

Linux mmap系统调用

文章目录 前言一、mmap()函数简介二、代码演示2.1 mmap使用场景2.2 私有匿名映射2.3 私有文件映射2.4 共享匿名映射2.5 共享文件映射 参考 前言 NAMEmmap, munmap - map or unmap files or devices into memorySYNOPSIS#include <sys/mman.h>void *mmap(void *addr, siz…

【金三银四的季节看下Java ORM的走向和性能对比】总结

写在最后 经过将近一周时间的框架收集、学习、实验、编码、测试市面上常见的ORM框架&#xff0c;过程中拜读了很多作者的博文、样例&#xff0c;学习很多收获很多。 重新梳理下整理的框架&#xff1a;mybatis-plus、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp、jpa、…

关于 typeof 与 instanceof 区别引出的原型对象问题

一、关于 typeof 与 instanceof 区别&#xff1a; typeof 和 instanceof 是 JavaScript 中用于检查变量类型的两个不同操作符&#xff0c;它们在使用上有着明显的区别和不同的适用场景。 typeof typeof 是一个一元操作符&#xff0c;用于返回一个变量或表达式的数据类型的字符…