MyBatis Plus条件构造器使用

MyBatis Plus条件构造器之Wrapper使用.png

MyBatis Plus条件构造器之Wrapper使用.png


1Wrapper: 条件构造抽象类,最顶端父类
1.1 AbstractWrapper: 用于查询条件封装,生成 sql 的 where 条件
1.2 QueryWrapper: Entity 对象封装操作类,不是用lambda语法
1.3 UpdateWrapper: Update 条件封装,用于Entity对象更新操作
1.4 AbstractLambdaWrapper: Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
1.5 LambdaQueryWrapper:看名称也能明白就是用于Lambda语法使用的查询Wrapper
1.6 LambdaUpdateWrapper: Lambda 更新封装Wrapper

使用Wrapper构建条件

常见查询

gegtleltisNullisNotNull

@RequestMapping("SelectMapComplex")
@ResponseBody
public List<User> SelectMapComplex(){
    //创建QueryWrapper对象
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();

    //通过QueryWrappershe设置条件
    //如果name不等于空,并且age大于22,并且email不等于空,执行删除
    queryWrapper.isNotNull("name")
            //ge:>=   gt:>    le:<=    lt:<   idea控制台 <> 相当于  !=
            .gt("age",22)
            .isNotNull("email");
    //查询
    List<User> users = userMapper.selectList(queryWrapper);

    return users;
}

访问:http://localhost:8888/SelectMapComplex
控制台打印的sql

SELECT id,name,age,email,create_time,update_time,version,deleted FROM user WHERE deleted=0 AND (name IS NOT NULL AND age > 22 AND email IS NOT NULL)

范围查询

    @RequestMapping("SelectMapComplex")
    @ResponseBody
    public List<User> SelectMapComplex(){
        //创建QueryWrapper对象
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    
        //通过QueryWrappershe设置条件
        //如果name不等于空,并且age大于22,并且email不等于空,执行删除
    
        //between  范围查询
        //查询 年龄 20-30 之间的数据
        queryWrapper.between("age",18,30);
        List<User> users = userMapper.selectList(queryWrapper);
    
        return users;
    }

模糊查询


    /**
     * 模糊查询
     * @return
     */
    @RequestMapping("SelectMapComplex")
    @ResponseBody
    public List<User> SelectMapComplex(){
        //创建QueryWrapper对象
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        //模糊查询
        queryWrapper.like("name", "宋子宪");
        List<User> users = userMapper.selectList(queryWrapper);
        
        return users;
    }

查询方法大全

 /**
     * 查询方法大全
     * @return
     */
    @RequestMapping("SelectMapComplex")
    @ResponseBody
    public void SelectMapComplex(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();

        //通过QueryWrapper设置条件
        //ge、gt、le、lt
        //查询age>=30记录
        //第一个参数字段名称,第二个参数设置值
//        wrapper.ge("age",30);

        //eq、ne
        //wrapper.eq("name","lilei");
        //wrapper.ne("name","lilei");

        //between
        //查询年龄 20-30
        // wrapper.between("age",20,30);

        //like
        //wrapper.like("name","岳");

        //orderByDesc
        // wrapper.orderByDesc("id");

        //last
        //wrapper.last("limit 1");

        //指定要查询的列
        wrapper.select("id","name");

        List<User> users = userMapper.selectList(wrapper);
        System.out.println(users);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值