zoukankan      html  css  js  c++  java
  • 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的方法

  • 相关阅读:
    php基本语法之逻辑运算符
    HTML5实现端访问时禁止放大和缩小网页
    javascript simple MVC
    GIS开发离线地图应用-初识gis
    百度应用开发--日期大写转换
    ThinkPHP与EasyUI整合之三(searchbox):在datagrid中查询指定记录
    ThinkPHP与EasyUI整合之二(datagrid):删除多条记录
    面向对象----类和对象
    Java 基本语法----数组
    Java 基本语法----流程控制
  • 原文地址:https://www.cnblogs.com/omgliyq/p/13844183.html
Copyright © 2011-2022 走看看