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//通过条件查询之一  map
    public 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的用户

    @Test
    public 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的用户

    @Test
    public 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或map
        User user = userMapper.selectOne(wrapper); //查询一个数据,若出现多个结果使用list或map
        System.out.println(user);
    }

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

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

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

    @Test
    public 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 的数据

    @Test
    public 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进行排序

    @Test
    public 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,的第一条数据。
     */
    @Test
    public 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.mfbz.cn/a/436950.html

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

相关文章

[技术杂谈]解决右键没有vscode打开选项的问题

问题&#xff1a; 点击鼠标右键没有‘使用vscode打开’的选项。 原因&#xff1a; 在安装时没有勾选相关选项 解决办法&#xff1a; 新建一个reg文件写入下面文件&#xff0c;注意替换自己真实Code.exe路径 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\she…

计算机考研❗️这些院校(含985)性价比巨高

✅厦门大学 (985) 不歧视双非&#xff0c;全靠实力&#xff0c;校园环境还贼美 ✅重庆大学 (985) 信息公开透明&#xff0c;复试抽签 ✅北京师范大学 (985) 不歧视本科出身&#xff0c;面试抽签答题。 ✅东南大学 (985) 保护第一志愿&#xff0c;复试抽签 ✅吉林大学 (…

3Dmax中VR渲染太阳光渲染参数怎么设置?渲染100云渲染助力

我们用3Dmax建模时一些场景会用到太阳光&#xff0c;那么渲染参数是如何设置的呢&#xff1f; 我们一起来看看&#xff0c;直接上图 以上就是详细的参数设置&#xff0c;大家可以用做参考&#xff0c;如果本地渲染慢的朋友可以考虑使用云渲染100 机器多&#xff0c;渲染稳定不…

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

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

【新版Hi3521DV200处理器性能】

新版Hi3521DV200处理器性能 Hi3521DV200是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;DVR产品应用开发的新一代专业SoC芯片。Hi3521DV200集成了ARM Cortex-A7四核处理器和性能强大的神经网络推理引擎&#xff0c;支持多种智能算法应用。同时&#xff0c;Hi352…

微服务之商城系统

一、商城系统建立之前的一些配置 1、nacos Nacos是一个功能丰富的开源平台&#xff0c;用于配置管理、服务发现和注册、健康检查等&#xff0c;帮助构建和管理分布式系统。 在linux上安装nacos容器的命令&#xff1a; docker run --name nacos-standalone -e MODEstandalone …

在centos7系统中如何给docker配置代理

一、需求场景 生产环境私有云中&#xff0c;通常一个集群的机器中只有几台机器可以直接访问公网&#xff0c;其他机器需要通过代理的方式从能访问公网的机器出去&#xff0c;在已经做了如下配置之后&#xff0c;使用docker pull命令已经报错超时timeout&#xff0c;这时可以尝…

python中的defaultdict

collections.defaultdict 是 collections 模块提供的一个有用的类&#xff0c;它是内置字典类 dict 的一个子类。与普通字典一样&#xff0c;可以进行元素的访问、添加、删除等操作。区别在于当访问一个不存在的键时&#xff0c;defaultdict 会返回默认值&#xff0c;而不会引发…

Go程序是如何编译并运行起来的(图文详解)

Go程序是如何编译的 从hello RdrB1te开始 package main import "fmt" func main() { fmt.Println("hello RdrB1te") }不实际编译它&#xff0c;只输出它的编译过程&#xff1a; go build -n简单的编译过程分析&#xff1a; 上面的过程确认了两个…

SpringBoot集成JSP和war包部署到Tomcat

SpringBoot集成JSP 加依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot…

开抖音小店一个月,就摸清楚了电子面单发货,不用担心被查无货源

大家好&#xff0c;我是电商花花。 开抖音小店一个月的时间&#xff0c;就摸清楚了抖音小店的电子面单发货&#xff0c;再也不用担心做无货源模式被平台稽查了。 现在平台的规则越来越严格&#xff0c;很多抖音小店的商家为了避免违规&#xff0c;为了不被平台稽查&#xff0…

传感器在TWS耳机中的应用

一项音频产品使用报告显示&#xff0c;消费者对音频设备中音质差异的认知不断提高&#xff0c;对在设备上获得最佳音频体验的期待也在提升。自适应主动降噪、语音增强、空间音频等是提升TWS耳机用户体验的主要因素&#xff0c;这些技术背后都有运动传感器的身影&#xff0c;包括…

Gartner对未来5年全球信息安全和风险管理市场的预测分析:影响市场的四大因素及对相关产品市场的影响

到 2023 年&#xff0c;信息安全和风险管理市场的最终用户支出将增长至 1850 亿美元&#xff08;现价美元&#xff09;&#xff0c;货币稳定增长率为 13.4%。到2027年&#xff0c;市场规模将达到2870亿美元&#xff0c;按固定汇率计算&#xff0c;2022年至2027年的复合年增长率…

Windows系统搭建VisualSVN并结合内网穿透实现远程访问本地服务

文章目录 前言1. VisualSVN安装与配置2. VisualSVN Server管理界面配置3. 安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4. 固定公网地址访问 前言 SVN 是 subversion 的缩写&#xff0c;是一个开放源代码的版本控制系统…

【开课】云贝教育2024年3月9日-PostgreSQL中级工程师PGCE认证培训开课啦!

课程介绍 根据学员建议和市场需求,规划和设计了《PostgreSQL CE 认证课程》,本课程以内部原理、实践实战为主&#xff0c;理论与实践相结合。课程包含PG 简介、安装使用、服务管理、体系结构等基础知识。同时结合一线实战案例&#xff0c; 面向 PG 数据库的日常维护管理、服务和…

“色狼”用英语怎么说?柯桥日常英语,成人英语口语学习

最近有粉丝问我"色狼"英文翻译是啥 首先声明不是"colour wolf"哈 关于“色狼”的英文表达有很多 快和C姐一起来看看吧&#xff01; 1.pervert 这个单词的意思是变态、色狼 是对性变态者最直观的描述 He is such a pervert&#xff01; I saw him lo…

相对于 Linux,Windows Server 存在的意义是什么?

相对于 Linux&#xff0c;Windows Server 存在的意义是什么&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「Linux 的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给…

即插即用篇 | YOLOv8 引入 NAM 注意力机制 | 《NAM: Normalization-based Attention Module》

论文名称:《NAM: Normalization-based Attention Module》 论文地址:https://arxiv.org/pdf/2111.12419.pdf 代码地址:https://github.com/Christian-lyc/NAM 文章目录 1 原理2 源代码3 添加方式4 模型 yaml 文件template-backbone.yamltemplate-small.yamltemplate-large…

flutter编译后的windows程序缺少msvcp140.dllvcruntime140.dllvcruntime140_1.dll解决办法

//就是很多博文中提到了三剑客 msvcp140.dll vcruntime140.dll vcruntime140_1.dll 1.没有vs环境的不要把生成的debug下的exe发给别人&#xff0c;会出现莫名其妙的问题。缺少各种DLL文件&#xff0c;我这边收集了上面三个的dll下载链接&#xff1a;flutterdll.rar - 蓝奏云 2…

内衣洗衣机怎么选?2024年度最新爆品内衣洗衣机测评

内衣裤洗衣机是一种非常实用的洗衣机&#xff0c;可以有效地保护内衣和贴身衣物的质量和卫生&#xff0c;相比于普通的家用大型洗衣机&#xff0c;内衣裤洗衣机在容量、洗涤方式、控制方式和价格等方面有很大的不同之处&#xff0c;如果您经常需要清洗内衣和贴身衣物&#xff0…
最新文章