百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

Mybatis-Plus常用的查询方法——看这一篇就够了!「图文例子」

ztj100 2024-10-27 18:37 12 浏览 0 评论

前言:

Mybatis-Plus作为Mybatis的增强,自己封装了很多简单常用的方法,来解脱自己写sql!
对于项目的搭建小编就多说了,可以参考:
SpringBoot+Mybatis-Plus的入门搭建与配置测试_掉发的小王的博客-CSDN博客
这样就可以跟小编站在同一起跑线了,咱们直接开始介绍方法的使用哦!!

步入正题:

方法一:根据主键id去查询单个结果 selectById

    /**
     * 方法一: 根据主键id去查询单个结果
     * T selectById(Serializable id); ---参数为主键类型
     */
    User user1 = userMapper.selectById(1);
    /**
    * 返回值结果
    * {"id": 1,"name": "df","age": 222}
    */

方法二:查询多条数据库中的记录 selectList

    /**
    * 方法二:  查询多条数据库中的记录
    * List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);  
    * ---参数为Wrapper可以为空说明没有条件的查询
    */
    List<User> users1 = userMapper.selectList(null);
    /**
    * 运行结果集
    * [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
    */

方法三:查询多条数据库中的记录---条件查询 selectList(wrapper)

    /**
     * 方法三:查询多条数据库中的记录---条件查询
     * List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
     */
    //首先构造QueryWrapper来进行条件的添加
    QueryWrapper wrapper = new QueryWrapper();
    wrapper.eq("id",1);//相当于where id=1

    List<User> list = userMapper.selectList(wrapper);
    /**
     * 返回值结果
     * {"id": 1,"name": "df","age": 222}
     */

福利赠送:条件构造器QueryWrapper常用方法

    /**
      *附加条件构造器QueryWrapper常用方法 ---这几个肯定够用了
      */
     wrapper.eq("数据库字段名", "条件值"); //相当于where条件
     wrapper.between("数据库字段名", "区间一", "区间二");//相当于范围内使用的between
     wrapper.like("数据库字段名", "模糊查询的字符"); //模糊查询like
     wrapper.groupBy("数据库字段名");  //相当于group by分组
     wrapper.in("数据库字段名", "包括的值,分割"); //相当于in
     wrapper.orderByAsc("数据库字段名"); //升序
     wrapper.orderByDesc("数据库字段名");//降序
     wrapper.ge("数据库字段名", "要比较的值"); //大于等于
     wrapper.le("数据库字段名", "要比较的值"); //小于等于

方法四:根据主键的id集合进行多条数据的查询 selectBatchIds

/**
     * 方法四:  根据主键的id集合进行多条数据的查询
     * List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);   
     * --条件为集合
     */
List list1 = Arrays.asList(1,2);
List<User> list2 = userMapper.selectBatchIds(list1);
/**
     * 运行结果集
     * [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
     */

方法五:分页查询 selectPage

    /**
     * 方法五:  分页查询
     * IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);  
     * ---参数为分页的数据+条件构造器
     */
    IPage<User> page = new Page<>(1,2);//参数一:当前页,参数二:每页记录数
    //这里想加分页条件的可以如方法三自己构造条件构造器
    IPage<User> userIPage = userMapper.selectPage(page, null);

    /**
     * 运行结果集
     * {"records":[{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}],
     *  "total": 0,"size": 2,"current": 1,"searchCount": true,"pages": 0 }
     */

小结:

谢谢大家的学习与观看,这五个是比较常用的方法,其他也在小编开发中没怎么用到,就不教学了。有问题留言交流,下期带来插入更新删除常用方法哦!!

相关推荐

pandas筛选数据的20种高级用法(pandas dataframe筛选)

什么是Pandas库?作用是什么?Pandas库在数据处理和分析中具有广泛的应用,主要包括以下几个方面...

二文进阶Pandas数据可视化(python数据可视化pyecharts)

欢迎来到Pandas的进阶高级教程!在这篇教程中,我们将深入学习Pandas的高级功能和技巧,帮助你更加熟练地处理和分析数据。1.数据合并与连接在实际数据分析中,我们常常需要将多个数据集合并或连接在...

Python Seaborn 衍生变量的可视化

Seaborn是一个基于matplotlib的Python库,用于创建统计图形。衍生变量是指从原始数据中计算得出的新变量。使用Seaborn可视化衍生变量,通过绘制衍生变量的图表,可以...

[R语言] R语言快速入门教程(r语言零基础教程)

本文主要是为了从零开始学习和理解R语言,简要介绍了该语言的最重要部分,以快速入门。主要参考文章:...

分享几个令人相见恨晚的Pandas函数

作者:俊欣来源:关于数据分析与可视化又是新的一周,今天小编给大家来分享几个好用到爆的Pandas函数,或许不那么为人所知,但是相信会给大家在数据分析与挖掘的过程中起到不小的帮助。...

pandas 常用函数清单(pandas常用方法)

文件读取...

一文搞定Pandas核心概念之DataFrame

...

再见 VBA!神器工具统一 Excel 和 Python

欢迎关注...

pandas知识课堂:apply和agg函数,如何传递参数?

在数据处理过程中,我们在使用apply和agg函数的时候,一般都是直接使用自定义函数的名称,即默认带入自定义函数中的只有1个隐式参数(每个分组)。比如下面的例子:df=pd.read_excel(...

【Python数据分析系列】循环遍历DataFrame每行并处理结果新增列

这是我的第389篇...

Pandas每日函数学习之apply函数(pandas中apply)

...

如何在Pandas DataFrame中迭代行?多种方法解析与性能考量

在数据处理和分析中,Pandas是一个广泛使用的Python库,而DataFrame作为其核心数据结构,我们常常会遇到需要迭代其行的情况。本文将围绕StackOverflow上一个高关注度的问题(浏...

Pandas中的宝藏函数(apply)(pandas函数库手册)

来源:AI入门学习作者:小伍哥apply()堪称Pandas中最好用的方法,其使用方式跟map()很像,主要传入的主要参数都是接受输入返回输出。...

腾讯 Go 性能优化实战(腾讯网络优化)

作者:trumanyan,腾讯CSIG后台开发工程师项目背景网关服务作为统一接入服务,是大部分服务的统一入口。为了避免成功瓶颈,需要对其进行尽可能地优化。因此,特别总结一下golang后台服务...

流媒体服务新手入门教程02--m7s环境搭建

m7s后端采用golang语言开发,并提供了前端页面。前端采用vue开发,在2.x的时候是开源的,3.x则闭源了。但是其接口简单友好,可以根据自己的业务开发自己的前端。借助golang良好的跨平台环境...

取消回复欢迎 发表评论: