Mybatis-Plus查询投影与查询条件设置

news2024/9/29 1:25:26

目录

查询投影

查询指定字段

聚合查询

分组查询

查询条件设置

等值查询

范围查询

模糊查询

排序查询


  • 查询投影

  • 目前我们在查询数据的时候,什么都没有做默认就是查询表中所有字段的内容
  • 而查询投影即不查询所有字段,只查询出指定内容的数据
  • 查询指定字段

  • lambda格式
  • 非lambda格式
  • //查询指定字段
            //SELECT id,name,age FROM person
            //LambdaQueryWrapper<Person> lqw = new LambdaQueryWrapper<Person>();
            //lqw.select(Person::getId,Person::getName,Person::getAge);
            QueryWrapper<Person> lqw = new QueryWrapper<Person>();
            lqw.select("id","name","age","tel");
            List<Person> personList = personDao.selectList(lqw);
            System.out.println(personList);
  • 聚合查询

  • 聚合函数查询,完成count、max、min、avg、sum的使用
    • count:总记录数
    • max:最大值
    • min:最小值
    • avg:平均值
    • sum:求和
    •         QueryWrapper<Person> lqw = new QueryWrapper<Person>();
              //lqw.select("count(*) as count");
              //SELECT count(*) as count FROM user
              //lqw.select("max(age) as maxAge");
              //SELECT max(age) as maxAge FROM user
              //lqw.select("min(age) as minAge");
              //SELECT min(age) as minAge FROM user
              //lqw.select("sum(age) as sumAge");
              //SELECT sum(age) as sumAge FROM user
              lqw.select("avg(age) as avgAge");
              //SELECT avg(age) as avgAge FROM user
              List<Map<String, Object>> personList = personDao.selectMaps(lqw);
              System.out.println(personList);
  • 分组查询

  • //分组查询
            QueryWrapper<Person> lqw = new QueryWrapper<Person>();
            lqw.select("count(*) as count,tel");
            lqw.groupBy("tel");
            List<Map<String, Object>> personList = personDao.selectMaps(lqw);
            System.out.println(personList);
  • 注意:
  • 聚合与分组查询,无法使用lambda表达式来完成
  • MP只是对MyBatis的增强,如果MP实现不了,可以直接在DAO接口中使用MyBatis的方式实现
  • 查询条件设置

  • 前面只使用了lt()和gt(),除了这两个方法外,MP还封装了很多条件对应的方法:
    • 范围匹配(> 、 = 、between)
    • 模糊匹配(like)
    • 空判定(null)
    • 包含性匹配(in)
    • 分组(group)
    • 排序(order)
    • ……
  • 等值查询

  • 根据用户名和密码查询用户信息
  •         LambdaQueryWrapper<Person> lqw = new LambdaQueryWrapper<Person>();
            lqw.eq(Person::getName, "李四").eq(Person::getPassword, "3256");
            Person loginPerson = personDao.selectOne(lqw);
            System.out.println(loginPerson);
  • 范围查询

  • 对年龄进行范围查询,使用lt()、le()、gt()、ge()、between()进行范围查询
  •         LambdaQueryWrapper<Person> lqw = new LambdaQueryWrapper<Person>();
            lqw.between(Person::getAge,13,17);
            List<Person> personList = personDao.selectList(lqw);
            System.out.println(personList);
  • 模糊查询

  • 查询表中name属性的值以T开头的用户信息,使用like进行模糊查询
  •         LambdaQueryWrapper<Person> lqw = new LambdaQueryWrapper<Person>();
            lqw.likeRight(Person::getName,"T");
            List<Person> personList = personDao.selectList(lqw);
            System.out.println(personList);
  • 排序查询

  • 查询所有数据,然后按照id降序
  •         LambdaQueryWrapper<Person> lqw = new LambdaQueryWrapper<>();
            lqw.orderBy(true,false, Person::getId);
            List<Person> personList = personDao.selectList(lqw);
            System.out.println(personList);

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

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

相关文章

九、文件File、IO流

文件File File可以用来表示计算机中的文件或者文件夹官方定义&#xff1a;文件和文件夹路径名的抽象表示形式 3种构造 1File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例2File(String parent, String child) 从父路径名字符串和子路径名字…

2022硅谷大厂的大!失!败!AiDA时尚设计师助手;2023热门IT技能预告;Uber送货机器人;GitHub今日热榜 | ShowMeAI资讯日报

&#x1f440;日报合辑 | &#x1f3a1;AI应用与工具大全 | &#x1f514;公众号资料下载 | &#x1f369;韩信子 &#x1f4e2; 『抖音』2022抖音热点数据报告&#xff0c;共度温暖岁末 抖音热点联合巨量算数&#xff0c;发布了《2022抖音热点数据报告》&#xff0c;盘点了20…

如何在pycharm上安装tensorflow

TensorFlow™是一个基于数据流编程&#xff08;dataflow programming&#xff09;的符号数学系统&#xff0c;被广泛应用于各类机器学习&#xff08;machine learning&#xff09;算法的编程实现&#xff0c;其前身是谷歌的神经网络算法库DistBelief 。 Tensorflow拥有多层级结…

qt 崩溃处理

Windows系统MSVC编译器的dump文件 debug模式 生成exe自带生成pdb文件&#xff0c;所以无需处理。 1.生成dump文件 通过修改注册表&#xff0c;增加注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps 具体见&#xff1a;利用vs 分…

Forrester Wave发布最新报告 腾讯云数据连接器评分卓越

全球权威研究机构 Forrester 在2022年12月8日最新发布的《中国公有云开发和基础设施平台&#xff0c;Q4 2022》报告中&#xff0c;腾讯云获得高分&#xff0c;位列“领导者象限”。Forrester在报告中提出&#xff1a;“企业在进行公有云开发和基设施平台提供商的选项中&#xf…

php宝塔搭建部署实战帮管客CRM客户管理系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套php开发的帮管客CRM客户管理系统源码&#xff0c;感兴趣的朋友可以自行下载学习。 技术架构 PHP7.2 nginx mysql5.7 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码&#xf…

商业智能BI中,业务质量分析和业务成本分析

最初谁也没有想到&#xff0c;信息化 、数字化技术及其应用能够在如此短时间内快速覆盖了社会的方方面面&#xff0c;如今人们的衣食住行和工作生活娱乐都离不开数字化、数据的身影。 数据分析&#xff0c;是离不开业务的&#xff0c;只有把业务研究好了&#xff0c;所做出的报…

Numpy 数组切片

一、列表切片&#xff08;一维数组&#xff09; 1.1、切片原理 列表切片是从原始列表中提取列表的一部分的过程。在列表切片中&#xff0c;我们将根据所需内容&#xff08;如&#xff0c;从何处开始&#xff0c;结束以及增量进行切片&#xff09;剪切列表。Python中符合序列的…

【论文阅读】Online Decision Based Visual Tracking via Reinforcement Learning

Online Decision Based Visual Tracking via Reinforcement Learning 概述 本文2020年发布于NeurIPS(CCF-A)。视觉跟踪通常基于目标检测或者模板区配&#xff0c;但它们都只适用于特定的场景或对象。因为它们遵循不同的跟踪原则&#xff0c;直接将它们融合在一起是不明智的。…

会话技术和JSP技术

会话技术&#xff1a;一次会话中包含多次的请求和响应 一次会话&#xff1a;浏览器第一次给服务器资源发送请求&#xff0c;会话建立&#xff0c;直到有一方断开为止 功能&#xff1a;在一次会话的范围内共享数据 方式&#xff1a; 1、客户端会话技术&#xff1a;Cookie 2、服务…

我司赤城弘一CEO受邀参加东盟与中日韩中小企业人工智能产业论坛并做主旨发言。

我司赤城弘一CEO受邀参加东盟与中日韩中小企业人工智能产业论坛并做主旨发言。 一、活动背景 为推动东盟与中日韩&#xff08;103&#xff09;中小企业服务联盟务实合作&#xff0c;帮助中小企业提高生产力和技术创新能力&#xff0c;进一步提高国际化发展水平&#xff0c;促进…

Web前端期末大作业---新农村建设网页设计

✅ 作者简介&#xff1a;一名普通本科大三的学生&#xff0c;致力于提高前端开发能力 ✨ 个人主页&#xff1a;前端小白在前进的主页 ⭐️ 个人社区 : 个人交流社区 &#x1f340; 学习格言: ☀️ 打不倒你的会使你更强&#xff01;☀️ &#x1f525;前言 期末来咯&#xff0c…

Unity脚本(一)

视频教程&#xff1a;https://www.bilibili.com/video/BV12s411g7gU/?p112 目录 脚本 特性 控制台Console 脚本生命周期 Assembly-CSharp.dll 调试 Component 脚本 脚本是附加在游戏物体上用于定义游戏对象行为指令的代码&#xff0c;需要继承自MonoBehaviour类 编…

使用VTK和Python进行体绘制

使用VTK和Python进行体绘制IntroductionVolume Rendering1. Imports2. Helper-functions3.Options4. Image-Data Input5. Prep-work6. Volume RenderingIntroduction 科学可视化技术是运用计算机图形学、图像处理、计算机视觉等方法&#xff0c;将科学、工程学、医学等计算、测…

亚马逊跨境电商可靠吗?2023年还可以做吗?

新的一年新的打算&#xff0c;不少小伙伴在问&#xff0c;亚马逊跨境电商可靠吗&#xff1f;2023年还可以做亚马逊跨境电商吗&#xff1f;为此我们小编就来简单说说自己的想法吧&#xff01; 亚马逊跨境电商可靠吗&#xff1f; 【回答】&#xff1a;首先我们需要肯定一点的是&…

【Unity3D日常开发】Unity3D中屏蔽不想显示的黄色警告消息

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群&#xff1a;1040082875 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中&#xff0c;会有一些脚本…

在vue项目中使用rem的完整步骤

首先要知道几个概念&#xff1a; 设计稿是物理像素&#xff0c;在移动端上是css像素&#xff0c;1css像素2物理像素/3物理像素&#xff1b; 要想实现一张设计稿的尺寸能在各个移动端上适配&#xff0c;因为不同的移动端的css像素和物理像素比不一样&#xff0c;所以固定的物理…

【前端】Vue项目:旅游App-(1)搭建项目、重置css、配置router和store(pinia)

文章目录创建项目搭建和配置项目&#xff1a;项目目录结构划分重置CSSnormalize.cssreset.css目录结构配置router对应页面组件index.js配置store创建项目 npm init vuelatest本项目相关选择&#xff1a; 安装相关依赖&#xff1a; npm install试着跑一下&#xff1a; npm ru…

提面录取占比:浙大MBA MPA MEM复试中不可忽视的关键因素之一。

对于复试考生来说&#xff0c;单纯的探讨某个专业有多少人报考没有太大意义&#xff0c;单纯的关注这个专业招多少人也没有太多意义&#xff0c;我们要更加关注在复试阶段还能剩余多少录取指标&#xff0c;因为这个才是复试考生直接相关的数据。不同项目和专业间目前对提前批面…

剖析免密登录,集群之间的免密登录

免密登录1.免密登录的原理2.实现2.1首先配置每个节点的hosts文件2.2 在server1生成秘钥2.3了解文件2.4 实验是否可行3.补充1.免密登录的原理 每台主机authorized_keys文件&#xff0c;该文件就是身份验证的钥匙&#xff0c;该文件里如果有另一台主机的公钥&#xff08;id_rsa.…