Stream-Query Stream-Query
首页
  • 项目初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • core模块

    • Opp
    • Sf
    • Map
    • Steam
    • TreeHelper
    • HighlightHelper
    • ReflectHelper
    • BeanHelper
  • plugin模块

    • Database
    • One
    • Many
    • OneToOne
    • OneToMany
  • 安装

    • 通过Maven安装
    • 通过Gradle安装
    • 下载jar安装
    • 通过源码编译
  • 动态mapper

    • 指定package
    • 指定注解
    • 指定接口
    • 指定实体类
  • 团队成员
  • dromara
  • 社区周边
  • 成为开发成员
  • 项目问题

    • 最新版本依赖下载失败
    • 项目编译报错
    • 如何贡献代码
    • 如何贡献文档
    • 使用本项目需要的前置知识
  • 其他问题

    • 作者是在全职维护开源吗
    • 你们这是个什么团队啊
    • 和其他类似的开源项目有什么区别
赞助
  • 1-5-0-alpha
  • 1-6-0-alpha
  • 1-7-0-alpha
  • 1-8-0
  • 1-9-0
  • 1-9-1
  • 2.0.0-alpha+001
  • 2.0.0-alpha+002
  • 2.0.2
Source (opens new window)
首页
  • 项目初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • core模块

    • Opp
    • Sf
    • Map
    • Steam
    • TreeHelper
    • HighlightHelper
    • ReflectHelper
    • BeanHelper
  • plugin模块

    • Database
    • One
    • Many
    • OneToOne
    • OneToMany
  • 安装

    • 通过Maven安装
    • 通过Gradle安装
    • 下载jar安装
    • 通过源码编译
  • 动态mapper

    • 指定package
    • 指定注解
    • 指定接口
    • 指定实体类
  • 团队成员
  • dromara
  • 社区周边
  • 成为开发成员
  • 项目问题

    • 最新版本依赖下载失败
    • 项目编译报错
    • 如何贡献代码
    • 如何贡献文档
    • 使用本项目需要的前置知识
  • 其他问题

    • 作者是在全职维护开源吗
    • 你们这是个什么团队啊
    • 和其他类似的开源项目有什么区别
赞助
  • 1-5-0-alpha
  • 1-6-0-alpha
  • 1-7-0-alpha
  • 1-8-0
  • 1-9-0
  • 1-9-1
  • 2.0.0-alpha+001
  • 2.0.0-alpha+002
  • 2.0.2
Source (opens new window)
  • 指南

    • 快速上手
    • 模块介绍
    • 项目初衷与诞生
  • core

    • Opp
    • Sf
    • TreeHelper
    • LighHight
    • LambdaHelper
    • Steam
    • Maps
    • ReflectHelper
    • BeanHelper
  • plugin

    • DataBase
    • One
      • 单条数据查询One类
        • 所用到的实体类
        • of
        • eq
        • value
        • condition
        • like
        • query
      • 测试用例地址
    • Many
    • OneToOne
    • OneToMany
    • QueryCondition
    • safe-mode
  • 配置

  • 指南
  • plugin
臧臧
2023-05-31
目录

One

# 单条数据查询One类

场景:查询单条数据,返回一个对象,并且可以对其进行一系列的后续处理

# 所用到的实体类

@Data
public class UserInfo implements IGenerateMapper {

  private static final long serialVersionUID = -7219188882388819210L;

  @TableId(value = "id", type = IdType.AUTO)
  private Long id;

  private String name;
  private Integer age;
  private String email;
    @Version
    private Integer version;

  @TableLogic(value = "'2001-01-01 00:00:00'", delval = "NOW()")
  private LocalDateTime gmtDeleted;
}

# of

用于构造一个单条数据条件查询构造器

注意

  • 排除复杂条件查询之外的条件都会通过SFunction返回值进行匹配
final One<UserInfo, Long, UserInfo> oneQuery = One.of(UserInfo::getId);
// 代表后续的查询条件除去复杂条件查询之外 都会通过id进行匹配

# eq

场景 拼接条件:等于

final UserInfo userInfo = One.of(UserInfo::getId).eq(1L).query();
// 将UserInfo实体对应表中的id属性所对应的字段等于1的数据查询出来

# value

场景:映射返回字段,只需要返回指定的字段

注意

  • 底层执行sql时只会查询对应的字段,并不是select * from xxx然后再map指定字段
String name = One.of(UserInfo::getId).eq(1L).value(UserInfo::getName).query();
// 将UserInfo实体对应表中的id属性所对应的字段等于1的数据查询出来,并且只返回name字段

# condition

场景:复杂查询自定义拼接

String leAgeName =
        One.of(UserInfo::getId)
            .eq(1L)
            .value(UserInfo::getName)
            .condition(w -> w.le(UserInfo::getAge, 20))
            .query();
// 将UserInfo实体对应表中的id属性所对应的字段等于1同时年龄小于等于20的数据查询出来,并且只返回name字段,

# like

场景:拼接条件:模糊查询

One.of(UserInfo::getEmail).value(UserInfo::getName).like("test3").query(false);
// 查询UserInfo实体对应表中的email字段模糊匹配test3的数据,并且只返回name字段

# query

场景:拼接完条件之后查询单条数据方法

注意

  • 有一个参数,默认为false 如果为true,那么如果查询结果为多条的话就会抛出异常,反正则取多条数据中的第一条

# 测试用例地址

OneTest (opens new window)

上次更新: 2024/03/29, 09:17:32
DataBase
Many

← DataBase Many→

Theme by Vdoing | Copyright © 2023-2024 阿超 | Apache License, Version 2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式