Mybatis-Plus——06,CRUD查

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.mzph.cn/news/727167.shtml

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

相关文章

2024普通商家如何通过短视频矩阵快速破圈?

一个账号发1条作品&#xff0c;每条作品1000曝光覆盖1000人 十个账号发10条作品&#xff0c;每条作品1000播放量覆盖100000人 一百个账号发100条作品&#xff0c;每条作品1000播放量覆盖10000000人...... 如果我们有300个、500个账号甚至更多呢&#xff1f;自然每天能够覆盖到…

哪款洗地机值得买?希亦、追觅、米博、美的谁才是行业标杆?

在家庭清洁中&#xff0c;最让我们苦恼的便是厨房垃圾了&#xff0c;油渍跟食物残渣&#xff0c;用扫把扫了后&#xff0c;要反反复复的湿拖五六次&#xff0c;期间不停的手洗拖把&#xff0c;这套流程下来&#xff0c;往往容易腰酸背痛&#xff0c;手指皱巴巴的&#xff0c;这…

[数据集][图像分类]黄瓜叶子病害分类数据集172张3类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;172 分类类别数&#xff1a;3 类别名称:["nitrogen_and_potassium_def…

SAP MM学习笔记43 - 特殊调达流程 - 支付计划

以前学习了特殊调达流程 受托品和外注&#xff0c;中断了一阵儿去复习了PP了&#xff0c;咱继续回来研究MM。 SAP MM学习笔记42 - 特殊调达流程 - 受托品&#xff08;寄售&#xff09;-CSDN博客 SAP MM学习笔记41 - 特殊调达流程 - 外注加工-CSDN博客 本章讲SAP 特殊调达流程…

Get了!原来朋友圈定时发布如此简单!

你是不是也有这样的烦恼&#xff1f;微信号太多&#xff0c;有时候会顾不上发朋友圈&#xff1f; 别担心&#xff01;微信管理系统来帮你解决这个问题&#xff0c;实现朋友圈定时发布&#xff01;让我们一起来看看如何利用微信管理系统的强大功能来提升我们的社交媒体效率吧。…

Interceptor拦截器+JWT令牌实现登陆验证

一、背景 与过滤器的作用类似&#xff0c;不过拦截器是spring中的组件&#xff0c;只能拦截进入spring的请求&#xff1b;过滤器则可以拦截所有从前端页面发送来的请求。 *拦截器和过滤器选一就可以实现登陆验证&#xff0c;过滤器的实现在以下这篇博客中&#xff0c;有需要可…

在Exchange中启用/禁用搜索索引

默认情况下&#xff0c;所有的新邮箱数据都是启用Exchange搜索&#xff0c;仅当多个邮箱迁移到该Exchange Server时&#xff0c;才禁用搜索索引。 获取数据库的Exchange搜索索引 使用Get-MailboxDatabase 来获取数据库的搜索索引 Get-MailboxDatabase | Select-Object Name,…

蚂蚁SEO泛程序什么用?

蚂蚁SEO泛目录程序是一种常见的网站优化方法&#xff0c;其核心原理是利用高权重的网站继承目录&#xff0c;进而达到快速收录与排名的效果。具体表现形式分为网站、目录以及文章单页&#xff0c;通过目录文件的方式&#xff0c;利用关键词优化布局提升网站排名和流量。 这种技…

【自动驾驶系列丛书学习】2.《自动驾驶汽车环境感知》学习笔记

《自动驾驶技术概论》学习笔记 致谢&#xff1a;作者&#xff1a;甄先通、黄坚、王亮、夏添 -------------------------------------------------------------------------------------------------------- 笔记目录 -----------------------------------------------------…

QEMU调试——通过获取设备树(dtb文件)查询开发板的外设地址信息

1、适用场景 使用qemu时&#xff0c;想快速知道开发板的地址空间映射情况&#xff0c;特别是某些外设控制器的寄存器基地址 2、查询QEMU支持的开发板 qemu-system-riscv32.exe -M ? 3、获取开发板对应的dtb文件 1、qemu-system-riscv32.exe -M nuclei_evalsoc 2、dumpdtb nucl…

触发HTTP preflight预检及跨域的处理方法

最近在做需求的过程中&#xff0c;遇到了很多跨域和HTTP预检的问题。下面对我所遇到过的HTTP preflight和跨域的相关问题进行总结&#xff1a; 哪些情况会触发HTTP preflight preflight属于cors规范的一部分&#xff0c;在有跨域的时候&#xff0c;在一定情况下会触发preflig…

设计模式-原型模式实践案例

原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;它通过复制现有的实例来创建新的实例&#xff0c;而不是通过初始化过程。在 Java 中&#xff0c;这通常是通过实现 Cloneable 接口并定义 clone() 方法来实现的。原型模式适用于创建复制对象…

linux 文件权限

仅仅记录一下&#xff0c;怎么添加文件权限 r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute) 读、写、运行三项权限可以用数字表示&#xff0c;就是r4,w2,x1&#xff0c;777就是rwxrwxrwx 你可能不懂什么意思 举个例吧&#xff01; 如上图有一个文件&#xff0c;它…

arm系统构建的三部分

1.boot/loader 启动 uboot引导程序 uboot启动之前要明确内核文件位置&#xff08;服务器-和网线连着的机器或SD卡&#xff09;&#xff0c;uboot设置参数&#xff0c;寻找文件位置&#xff08;放服务器上&#xff0c;需要IP地址路径&#xff0c;通过网线下载到开发板上。&…

跨界探险:出海与网络安全的奇幻之旅

在这个全球化的时代&#xff0c;"出海"已经成为了众多企业家和技术爱好者的热门话题。不论是跨界电商、游戏产业&#xff0c;还是技术开发&#xff0c;所有的这些都离不开一个看似晦涩却又极为重要的技术——SOCKS5代理以及代理IP的应用。让我们一起踏上这场结合网络…

利用auto-py-to-exe库的简单图形界面实现.py到.exe的转换

文章目录 1. auto-py-to-exe 简介2. 安装与使用3. 配置项介绍4. 打包完成 1. auto-py-to-exe 简介 运行 .py 文件需要配套相应的 Python 解释器和相关的依赖项&#xff0c;而很多时候我们会面临光有待演示的 .py 程序&#xff0c;而没有支持演示的环境的尴尬。一种解决办法就是…

仪酷LabVIEW OD实战(4)——Object Detection+OpenVINO工具包快速实现yolo目标检测

‍‍&#x1f3e1;博客主页&#xff1a; virobotics(仪酷智能)&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f384;所属专栏&#xff1a;『仪酷LabVIEW目标检测工具包实战』 &#x1f4d1;上期文章&#xff1a;『仪酷LabVIEW OD实战(3)——Object Detectiononnx工具包快速…

蓝桥杯2023年第十四届省赛真题-岛屿个数|DFS

题目链接&#xff1a; 蓝桥杯2023年第十四届省赛真题-岛屿个数 - C语言网 (dotcpp.com) 参考视频&#xff1a; 【[蓝桥杯]真题讲解&#xff1a;岛屿个数&#xff08;BFS遍历图&#xff09;】 https://www.bilibili.com/video/BV1uc411v7Tw/?share_sourcecopy_web&vd_sou…

Java+SpringBoot+Vue+MySQL:农业管理新篇章

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

Z Potentials | 星爵,他的征途不止向量数据库

纵观过去几十年的科技发展史&#xff0c;每一代新的技术架构的出现往往都伴随着新的数据范式的出现&#xff0c;也催生了多家百亿到千亿美金数据平台的诞生。如果说 2023 年科技领域的关键词是 LLM&#xff0c;那么数据库领域的关键词一定非向量数据库莫属。向量数据库是一种专…