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 列表)
    • finder

      Finder<Entity> finder(Query query, FieldPolicy fieldPolicy)

      创建一个数据查询器

      因为查询操作复杂度较高, 进而独立出一个 Finder 概念, 但你仍可以使用 find 来覆盖大部分场景

      Parameters:
      query - 查询条件
      fieldPolicy - 字段策略
      Returns:
      查询器
    • update

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

      更新数据

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

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

      long delete(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)
    • finder

      default Finder<Entity> finder(Query query)
    • finder

      default Finder<Entity> finder(FieldPolicy fieldPolicy)
    • finder

      default Finder<Entity> finder()
    • find

      default List<Entity> find(Query query, FieldPolicy fieldPolicy)
    • find

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

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

      default List<Entity> find()
    • get

      default Entity get(Query query, FieldPolicy fieldPolicy)
    • get

      default Entity get(Query query)
    • update

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

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

      default long count(Query query)
    • count

      default long count()