栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot之mybatis-plus——介绍3、wapper介绍、模糊查询、条件查询

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot之mybatis-plus——介绍3、wapper介绍、模糊查询、条件查询

1.项目准备

参考地址

项目准备移步此处

可以先看看前面的介绍

这里我们主要介绍一下运用mybatis-plus为我们封装好的方法进行复杂的条件查询。

2.wapper介绍

Wrapper : 条件构造抽象类,最顶端父类  

    AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件

        QueryWrapper : 查询条件封装

        UpdateWrapper : Update 条件封装

    AbstractLambdaWrapper : 使用Lambda 语法

        LambdaQueryWrapper :用于Lambda语法使用的查询Wrapper

        LambdaUpdateWrapper : Lambda 更新封装Wrapper

3.QueryWrapper : 查询条件封装
    @Test
    public void selectWraooer(){
        QueryWrapper queryWrapper=new QueryWrapper<>();
//ge,gt,le,lt(大于、大于等于、小于、小于等于) eq/ne(等于、不等于)
        queryWrapper.ge("age",28);
        List users=userMapper.selectList(queryWrapper);
        for (User u:users) {
            System.out.println("查询大于28年龄的(没有给逻辑删除的数据)"+u);
        }
    }

结果,我们就查出了数据库中年龄大于28的数据

因为我做了逻辑删除的操作所以这里只有三条数据想要了解逻辑删除的 可以看看另一篇springboot之mybatis-plus——介绍2

对于QueryWrapper常用的几个方法我只测试一个某个字段大于xx的方法其他方法传参是一样的只是效果不同

ge,gt,le,lt(大于、大于等于、小于、小于等于) eq/ne(等于、不等于)

between、notBetween

包含大小边界

    @Test
    public void selectWraooer(){
        QueryWrapper queryWrapper=new QueryWrapper<>();
//        queryWrapper.between("age",20,34);//查询的字段、开始范围、结束范围
        queryWrapper.notBetween("age",20,34);
        List users=userMapper.selectList(queryWrapper);
        for (User u:users) {
            System.out.println("查询测试"+u);
        }
    }

结果

 模糊查询like、notLike、likeLeft、likeRight
 @Test
    public void selectWraooer(){
        QueryWrapper queryWrapper=new QueryWrapper<>();
        queryWrapper.like("name","o");
        List users=userMapper.selectList(queryWrapper);
        for (User u:users) {
            System.out.println("查询测试"+u);
        }
    }

模糊查询只要带有o

 notLike、查询不包含当前传输词的

likeLeft、查询当前传入词结尾的

likeRight、查询当前传入词开头的

你们可以自己去测试一下

orderBy、orderByDesc、orderByAsc可以设置某个字段的升序查询或者降序查询

单一查询、根据年龄降序

 @Test
    public void selectWraooer(){
        QueryWrapper queryWrapper=new QueryWrapper<>();
        queryWrapper.orderByDesc("age");
        List users=userMapper.selectList(queryWrapper);
        for (User u:users) {
            System.out.println("查询测试"+u);
        }
    }

 多条件可以传入2个参数做降序查询

 @Test
    public void selectWraooer(){
        QueryWrapper queryWrapper=new QueryWrapper<>();

        queryWrapper.orderByDesc("age","id");
        List users=userMapper.selectList(queryWrapper);
        for (User u:users) {
            System.out.println("查询测试"+u);
        }
    }

结果不演示了

顾名思义orderByAsc就是升序查询,同样的也是可以传入一个参数和多个参数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号