接口 DBBaseGenericService<T extends BaseDO>

  • 类型参数:
    T - The Entity Need Extends BaseDO
    所有已知实现类:
    DBBaseGenericServiceImpl

    public interface DBBaseGenericService<T extends BaseDO>
    common CRUD method for all sql entity service
    作者:
    王鸿雁
    • 方法详细资料

      • create

        boolean create​(T data)
        insert a new row, you can set your data id, system will auto create with ObjectId if not. If the id exist in database, the method will throw Exception
        参数:
        data - Entity
        返回:
        success if true
      • create

        boolean create​(String companyId,
                       T data)
        insert a new row with company id
        参数:
        companyId - companyId
        data - Entity
        返回:
        success if true
      • create

        boolean create​(List<T> list)
        batch create
        参数:
        list - List of Entity
        返回:
        success if true
      • create

        boolean create​(String companyId,
                       List<T> list)
        batch create with company id
        参数:
        companyId - companyId
        list - List of Entity
        返回:
        true if create success
      • update

        @Deprecated
        boolean update​(T data)
        已过时。
        is deprecated ,please use updateSkipNull
        参数:
        data - Entity
        返回:
        true if update success
      • updateNotNull

        boolean updateNotNull​(String companyId,
                              T data,
                              Long ver)
        参数:
        companyId - Company Id
        data - Entity
        ver - The version of the old data
        返回:
        true if update success
      • updateSkipNull

        boolean updateSkipNull​(String companyId,
                               T data,
                               Long ver)
      • updateSkipNull

        boolean updateSkipNull​(T data,
                               Long ver)
      • batchUpdateAppend

        int batchUpdateAppend​(String companyId,
                              T data,
                              Long ver,
                              int batchSize)
        批量更新,当缓存中达到batchSize指定的数量时,执行更新,否则只是加入缓存
        参数:
        companyId - Company Id
        data - Entity
        ver - The version of the old data
        batchSize - The Batch Size of rows, execute quickly insert when arrive the size
        返回:
        success size
      • batchUpdateExecute

        int batchUpdateExecute​(Class<T> clazz)
        立即执行所有缓存中的数据并更新
        参数:
        clazz - The class of entity
        返回:
        success size
      • batchUpdate

        int batchUpdate​(List<UpdateObject> updateList)
        批量更新
        参数:
        updateList - Batch update of list
        返回:
        success size
      • update

        boolean update​(T data,
                       String companyId)
        修改对象,条件是主键及 companyId
        参数:
        data - Entity
        companyId - Company Id
        返回:
        success
      • updateSkipCheckOwner

        @Deprecated
        boolean updateSkipCheckOwner​(T entity)
        已过时。
        不管这个数据的所有者是谁,只根据ID进行修改
        参数:
        entity - Entity
        返回:
        success
      • get

        T get​(Class<T> clazz,
              String id)
        根据ID获取一条数据
        参数:
        clazz - clazz
        id - The Id of Data
        返回:
        data
      • get

        T get​(Class<T> clazz,
              String id,
              String companyId)
        根据companyId, id 过滤对像
        参数:
        clazz - clazz
        id - The Id of Data
        companyId - Id of company
        返回:
        data
      • deletePhysical

        boolean deletePhysical​(Class<T> clazz,
                               String id,
                               String companyId)
        物理删除,小时使用。推荐大多数场合下从产品上不设置删除功能,如果设置了删除功能应使用逻辑删除
        参数:
        clazz - clazz
        id - id of data
        companyId - Id Of company
        返回:
        true if delete success
      • deletePhysical

        boolean deletePhysical​(String id,
                               String companyId)
      • deleteLogical

        boolean deleteLogical​(Class<T> clazz,
                              String id,
                              String companyId)
        逻辑删除
        参数:
        clazz - data class
        id - data id
        companyId - company id
        返回:
        true if delete success
      • deleteLogical

        boolean deleteLogical​(String id,
                              String companyId)
      • deleteLogical

        int deleteLogical​(Class<T> clazz,
                          Collection<String> idList,
                          String companyId)
        批量逻辑删除
        参数:
        clazz - data class
        idList - batch find of id
        companyId - company id
        返回:
        true if delete success
      • list

        List<T> list​(Class<T> clazz)
        获得一张表的所有数据
        参数:
        clazz - data class
        返回:
        data
      • findByExample

        List<T> findByExample​(T example,
                              Integer size)
      • findOneByExample

        T findOneByExample​(Class<T> clazz,
                           String companyId,
                           T example)
        通过例子查找一个,多于一个结果会报错
        参数:
        clazz - class
        companyId - id of company
        example - condition template
        返回:
        data
      • findOneByExample

        T findOneByExample​(String companyId,
                           T example)
      • noShardingList

        <E> List<E> noShardingList​(String statement,
                                   Object parameter)
        跳过 Sharding Jdbc执行原始的查询
        类型参数:
        E - type
        参数:
        statement - statement
        parameter - parameter
        返回:
        data
      • getEntityClassName

        String getEntityClassName()
      • select

        List<Map<String,​?>> select​(String selectId,
                                         Map<String,​?> param,
                                         int offset,
                                         int limit)
        查询
        参数:
        selectId - the sql id in sqlmap
        param - the param
        offset - from 0
        limit - return size
        返回:
        data
      • select

        List<T> select​(ColumnSelector<T> columns,
                       QueryConditionWrapper<T> wrapper,
                       SerializableFunction<T,​Object> sortColumn,
                       OrderTypeEnum orderType,
                       int offset,
                       int limit)
        多条件,指定返回列,可排序的单表查询
        参数:
        columns - the columns you want to return
        wrapper - condition wrapper
        sortColumn - sort column
        orderType - order type
        offset - from 0
        limit - max of return size
        返回:
        data