Interface Repository<Entity,ID>

Type Parameters:
Entity -
ID -

public interface Repository<Entity,ID>
用于定义数据访问层的规范
Version:
0.0.1
Author:
scx567888
  • Method Details

    • add

      ID add(Entity entity, FieldPolicy fieldPolicy)

      添加一条数据

      当 entity 为 null 时, 将使用 fieldPolicy 进行纯表达式插入

      Parameters:
      entity - 待插入的数据 (可以为 null)
      fieldPolicy - 字段策略
      Returns:
      主键 ID (若数据没有主键, 则为 null)
    • add

      List<ID> add(Collection<Entity> entityList, FieldPolicy fieldPolicy)

      添加多条数据

      因为无法判断 entityList 中每个成员的情况, 所以所有插入字段均由 fieldPolicy 提供

      Parameters:
      entityList - 待插入的数据列表 (成员 可以为 null)
      fieldPolicy - 字段策略
      Returns:
      主键 ID 列表 (若数据没有主键, 则为 null 列表)
    • find

      List<Entity> find(Query query, FieldPolicy fieldPolicy)
      查询多条数据
      Parameters:
      query - 查询条件
      fieldPolicy - 字段策略
      Returns:
      数据列表
    • find

      void find(Query query, FieldPolicy fieldPolicy, Consumer<Entity> entityConsumer)
      查询多条数据
      Parameters:
      query - 查询条件
      fieldPolicy - 字段策略
      entityConsumer - 数据消费者
    • get

      Entity get(Query query, FieldPolicy fieldPolicy)

      查询单条数据

      • 如果匹配到多条数据, 则返回第一个匹配项
      • 如果没有匹配项, 返回 null
      Parameters:
      query - 查询条件
      fieldPolicy - 字段策略
      Returns:
      数据
    • update

      long update(Entity entity, Query query, FieldPolicy fieldPolicy)

      更新数据

      当 entity 为 null 时, 将使用 fieldPolicy 进行纯表达式更新, 此时要求 fieldPolicy 必须包含至少一个字段表达式

      Parameters:
      entity - 需要更新的数据 (可以为 null)
      query - 查询条件
      fieldPolicy - 字段策略
      Returns:
      更新成功的条数
    • delete

      long delete(Query query)
      删除数据
      Parameters:
      query - 查询条件
      Returns:
      删除成功的条数
    • count

      long count(Query query)
      查询行数
      Parameters:
      query - 查询条件
      Returns:
      符合条件的行数
    • clear

      void clear()
      清空整个数据源 (慎用)
    • add

      default ID add(Entity entity)
    • add

      default ID add(FieldPolicy fieldPolicy)
    • add

      default List<ID> add(Collection<Entity> entityList)
    • find

      default List<Entity> find(Query query)
    • find

      default List<Entity> find(FieldPolicy fieldFilter)
    • find

      default List<Entity> find()
    • find

      default void find(Query query, Consumer<Entity> entityConsumer)
    • find

      default void find(FieldPolicy fieldFilter, Consumer<Entity> entityConsumer)
    • find

      default void find(Consumer<Entity> entityConsumer)
    • get

      default Entity get(Query query)
    • update

      default long update(Entity entity, Query query)
    • update

      default long update(Query query, FieldPolicy fieldPolicy)
    • count

      default long count()