• Mybatis plus学习随笔:QueryWrapper条件构造器的使用


    一.mybatis plus中实现查询的对象封装操作类

    mybatis-plus提供了Wapper抽象类,提供了很多sql语法支持的方法,比如模糊查询,比较,区间,分组查询,排序,判断空,子查询等等,方便我们用面向对象的方式去实现sql语句

    Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法

    AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件,QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类。

    AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。

    LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper

    LambdaUpdateWrapper : Lambda 更新封装Wrapper

    QueryWrapper : Entity 对象封装操作类,不适用lambda语法

    UpdateWrapper : Update 条件封装,用于Entity对象更新操作

    二.使用Demo

    /**
     * 查找USERID为1、USERNAME为“小明”的实体User对象
     * sql: select * from User where USERID = 1 and USERNAME = '小明'
     */
    QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("USERID", 1); queryWrapper.eq("USERNAME", 1); List<User> User= baseMapper.selectOne(queryWrapper );

    上面这段代码的意思就是,首先新建一个QueryWrapper对象,类型为User对象,也就是你需要查询的实体数据,

    下面就是拼条件:

    queryWrapper.eq("USERID", 1);   //where USERID = 1

    queryWrapper.eq("USERNAME", "小明");  // AND USERNAME = '小明'

    这两句的意思是User对象对应的数据库表中的USERID为1,USERNAME字段值要为"小明",eq为wrapper方法中的等于=,

    然后调用baseMapper.selectOne方法,入参就为前面新建好的查询对象封装类

    当你的Mapper 继承BaseMapper接口(BaseMapper学习入口)后,无需编写 mapper.xml 文件,即可获得CRUD功能这样mybatis plus底层封装的方法即可实现帮你查询你设置查询条件查询到的数据

    三.QueryWrapper的方法

  • 相关阅读:
    MFC线程(二):线程同步临界区CRITICAL SECTION
    自定义消息
    Visual C++线程同步技术剖析:临界区,时间,信号量,互斥量
    //解析数据函数指针,很爽
    CListCtrl使用方法汇总
    进度条的使用 Progress控件
    CListBOX 用法
    文件操作总结
    CString 十六进制转二进制
    Numpy常用数据结构、数据清洗函数、数据结构series和方法、数据结构dataframe和方法
  • 原文地址:https://www.cnblogs.com/omgliyq/p/13844183.html
Copyright © 2020-2023  润新知