• QueryWrapper查询


    package cn.bitqian;
    
    import cn.bitqian.entity.User;
    import cn.bitqian.mapper.UserMapper;
    import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    
    import java.util.List;
    
    /**
     * @author echo lovely
     * @date 2020/11/17 08:19
     */
    
    @SpringBootTest
    public class WrapperDemo {
        
        
    
    
        @Autowired
        private UserMapper userMapper;
    
        // 测试普通的条件查询
        @Test
        void test1() {
        
        
    
            // 条件构造器
            QueryWrapper queryWrapper = new QueryWrapper<>();
            // 查询name为jack的人 并且年龄大于等于3岁
            queryWrapper.eq(true,"name", "Jack").
                    ge("age", 3).
                    between("age", 10, 20);
    
            User user = userMapper.selectOne(queryWrapper);
            System.out.println(user);
    
            queryWrapper.clear();
    
    
        }
    
    
        // 测试模糊查询 demo
        @Test
        void test2() {
        
        
            // 查询构造器
            QueryWrapper userWrapper = new QueryWrapper<>();
    
            // condition 条件为 false 不包含该条件查询
            // LIKE '值%'
            userWrapper.like("name", "J").likeRight(false, "name", "e");
    
            List users = userMapper.selectList(userWrapper);
            users.forEach(System.out::println);
        }
    
        // 测试子查询
        @Test
        void test3() {
        
        
            // ==>  Preparing: SELECT id,name,age,email,version,
            // deleted,gmt_create,gmt_modify FROM user WHERE deleted=0
            // AND (id IN (select id from user where id < 3))
            QueryWrapper userWrapper = new QueryWrapper<>();
            userWrapper.inSql("id", "select id from user where id < 3");
    
            List users = userMapper.selectObjs(userWrapper);
            users.forEach(System.out::println);
        }
    
        // order by ..
        @Test
        void test4() {
        
        
    
            QueryWrapper userWrapper = new QueryWrapper<>();
    
            userWrapper.orderByDesc("id");
    
            List users = userMapper.selectList(userWrapper);
    
            users.forEach(System.out::println);
        }
    
    
    
    }
    


    查询方式

    说明

    setSqlSelect

    设置 SELECT 查询字段

    where

    WHERE 语句,拼接 +?WHERE 条件

    and

    AND 语句,拼接 +?AND 字段=值

    andNew

    AND 语句,拼接 +?AND (字段=值)

    or

    OR 语句,拼接 +?OR 字段=值

    orNew

    OR 语句,拼接 +?OR (字段=值)

    eq

    等于=

    allEq

    基于 map 内容等于=

    ne

    不等于<>

    gt

    大于>

    ge

    大于等于>=

    lt

    小于<

    le

    小于等于<=

    like

    模糊查询 LIKE

    notLike

    模糊查询 NOT LIKE

    in

    IN 查询

    notIn

    NOT IN 查询

    isNull

    NULL 值查询

    isNotNull

    IS NOT NULL

    groupBy

    分组 GROUP BY

    having

    HAVING 关键词

    orderBy

    排序 ORDER BY

    orderAsc

    ASC 排序 ORDER BY

    orderDesc

    DESC 排序 ORDER BY

    exists

    EXISTS 条件语句

    notExists

    NOT EXISTS 条件语句

    between

    BETWEEN 条件语句

    notBetween

    NOT BETWEEN 条件语句

    addFilter

    自由拼接 SQL

    last

    拼接在最后,例如:last(“LIMIT 1”)

        public User getByIdNumber(Long idNumber) {
            QueryWrapper<User> queryWrapper = new QueryWrapper();
            queryWrapper.lambda()
                    .eq(User::getIdNumber, idNumber)
                    .gt(User::getIdAuthStatus, 0);
            return userMapper.selectOne(queryWrapper);
        }
    and ( pid = 0 or pid is null)  用法

            QueryWrapper<Resource> queryWrapper = new QueryWrapper();
            queryWrapper.and(wrapper -> wrapper.eq("pid", "0").or().isNull("pid"));
            queryWrapper.orderByAsc("sort");
            List<Resource> list = resourceMapper.selectList(queryWrapper);
     
    ————————————————
    版权声明:本文为CSDN博主「秋名山车神不开车」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_34503526/article/details/111725076

  • 相关阅读:
    Git删除本地和远程文件
    MongoDB的安装和环境配置
    Cookie和Session的区别
    如何往npm上上传自定义的模块?
    JS的一些兼容性问题
    【网络流24题】 5. 圆桌问题 题解
    【网络流24题】 6. 最长不下降子序列问题 题解
    【网络流24题】 4. 魔术球问题 题解
    【网络流24题】 3. 最小路径覆盖问题 题解
    【网络流24题】 2. 太空飞行计划问题 题解
  • 原文地址:https://www.cnblogs.com/csjoz/p/15304335.html
Copyright © 2020-2023  润新知