Interface CompositeKeyRepository<T,K extends CompositeKey>

Type Parameters:
T - 实体类型
K - 复合主键类型
All Superinterfaces:
MagstarRepository

public interface CompositeKeyRepository<T,K extends CompositeKey> extends MagstarRepository
复合主键仓库接口。

提供针对复合主键实体的 CRUD 操作、条件查询、分页查询等数据访问方法。

Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
  • Method Details

    • findByCompositeKey

      Optional<T> findByCompositeKey(K key)
      根据复合主键查找实体。
      Parameters:
      key - 复合主键对象
      Returns:
      Optional 包装的实体,如果不存在则返回空 Optional
    • deleteByCompositeKey

      boolean deleteByCompositeKey(K key)
      根据复合主键删除实体。
      Parameters:
      key - 复合主键对象
      Returns:
      如果删除成功返回 true,否则返回 false
    • existsByCompositeKey

      boolean existsByCompositeKey(K key)
      检查指定复合主键的实体是否存在。
      Parameters:
      key - 复合主键对象
      Returns:
      如果存在返回 true,否则返回 false
    • findByPartialKey

      List<T> findByPartialKey(Map<String,Object> partialKey)
      根据部分主键字段查找实体。
      Parameters:
      partialKey - 部分主键字段和值的映射
      Returns:
      符合条件的实体列表
    • deleteByPartialKey

      int deleteByPartialKey(Map<String,Object> partialKey)
      根据部分主键字段删除实体。
      Parameters:
      partialKey - 部分主键字段和值的映射
      Returns:
      受影响的行数
    • findByCompositeKeys

      List<T> findByCompositeKeys(Collection<K> keys)
      根据多个复合主键查找实体。
      Parameters:
      keys - 复合主键集合
      Returns:
      符合条件的实体列表
    • deleteByCompositeKeys

      int deleteByCompositeKeys(Collection<K> keys)
      根据多个复合主键删除实体。
      Parameters:
      keys - 复合主键集合
      Returns:
      受影响的行数
    • findAll

      List<T> findAll()
      查找所有实体。
      Returns:
      所有实体的列表
    • findAll

      List<T> findAll(int limit, int offset)
      分页查找所有实体。
      Parameters:
      limit - 返回的最大记录数
      offset - 跳过的记录数
      Returns:
      实体列表
    • findByCondition

      List<T> findByCondition(Condition condition)
      根据单个条件查找实体。
      Parameters:
      condition - 查询条件
      Returns:
      符合条件的实体列表
    • findByConditions

      List<T> findByConditions(List<Condition> conditions)
      根据多个条件查找实体。
      Parameters:
      conditions - 查询条件列表
      Returns:
      符合条件的实体列表
    • findOne

      Optional<T> findOne(Condition condition)
      根据条件查找单个实体。
      Parameters:
      condition - 查询条件
      Returns:
      Optional 包装的实体,如果不存在或有多个结果则返回空 Optional
    • count

      long count()
      统计所有实体数量。
      Returns:
      实体总数
    • countByCondition

      long countByCondition(Condition condition)
      根据条件统计实体数量。
      Parameters:
      condition - 查询条件
      Returns:
      符合条件的实体数量
    • existsByCondition

      boolean existsByCondition(Condition condition)
      检查符合条件的实体是否存在。
      Parameters:
      condition - 查询条件
      Returns:
      如果存在返回 true,否则返回 false
    • save

      T save(T entity)
      保存实体(新增或更新)。

      如果实体已存在则更新,否则插入新记录。

      Parameters:
      entity - 要保存的实体
      Returns:
      保存后的实体
    • saveAll

      List<T> saveAll(List<T> entities)
      批量保存实体。
      Parameters:
      entities - 要保存的实体列表
      Returns:
      保存后的实体列表
    • insert

      T insert(T entity)
      插入新实体。
      Parameters:
      entity - 要插入的实体
      Returns:
      插入后的实体
    • insertAll

      List<T> insertAll(List<T> entities)
      批量插入实体。
      Parameters:
      entities - 要插入的实体列表
      Returns:
      插入后的实体列表
    • update

      T update(T entity)
      更新实体。
      Parameters:
      entity - 要更新的实体
      Returns:
      更新后的实体
    • updateByCondition

      int updateByCondition(Map<String,Object> updates, Condition condition)
      根据条件更新实体字段。
      Parameters:
      updates - 要更新的字段和值的映射
      condition - 更新条件
      Returns:
      受影响的行数
    • updateByConditions

      int updateByConditions(Map<String,Object> updates, List<Condition> conditions)
      根据多个条件更新实体字段。
      Parameters:
      updates - 要更新的字段和值的映射
      conditions - 更新条件列表
      Returns:
      受影响的行数
    • deleteByCondition

      int deleteByCondition(Condition condition)
      根据条件删除实体。
      Parameters:
      condition - 删除条件
      Returns:
      受影响的行数
    • deleteByConditions

      int deleteByConditions(List<Condition> conditions)
      根据多个条件删除实体。
      Parameters:
      conditions - 删除条件列表
      Returns:
      受影响的行数
    • deleteAll

      void deleteAll()
      删除所有实体。

      警告:此操作将清空表中的所有数据。

    • createQuery

      QueryBuilder<T> createQuery()
      创建查询构建器。
      Returns:
      新的查询构建器实例
    • findByQuery

      List<T> findByQuery(QueryBuilder<T> query)
      根据查询构建器查找实体。
      Parameters:
      query - 查询构建器
      Returns:
      符合查询条件的实体列表
    • findOneByQuery

      Optional<T> findOneByQuery(QueryBuilder<T> query)
      根据查询构建器查找单个实体。
      Parameters:
      query - 查询构建器
      Returns:
      Optional 包装的实体,如果不存在则返回空 Optional
    • countByQuery

      long countByQuery(QueryBuilder<T> query)
      根据查询构建器统计实体数量。
      Parameters:
      query - 查询构建器
      Returns:
      符合查询条件的实体数量
    • findPage

      PageResult<T> findPage(int page, int size)
      分页查询所有实体。
      Parameters:
      page - 页码(从 1 开始)
      size - 每页大小
      Returns:
      分页结果
    • findPageByCondition

      PageResult<T> findPageByCondition(Condition condition, int page, int size)
      根据条件分页查询实体。
      Parameters:
      condition - 查询条件
      page - 页码(从 1 开始)
      size - 每页大小
      Returns:
      分页结果
    • findPageByQuery

      PageResult<T> findPageByQuery(QueryBuilder<T> query, int page, int size)
      根据查询构建器分页查询实体。
      Parameters:
      query - 查询构建器
      page - 页码(从 1 开始)
      size - 每页大小
      Returns:
      分页结果
    • findPageByPartialKey

      PageResult<T> findPageByPartialKey(Map<String,Object> partialKey, int page, int size)
      根据部分主键字段分页查询实体。
      Parameters:
      partialKey - 部分主键字段和值的映射
      page - 页码(从 1 开始)
      size - 每页大小
      Returns:
      分页结果
    • findPageByConditions

      PageResult<T> findPageByConditions(List<Condition> conditions, int page, int size)
      根据多个条件分页查询实体。
      Parameters:
      conditions - 查询条件列表
      page - 页码(从 1 开始)
      size - 每页大小
      Returns:
      分页结果