Interface EntityService<T,​I extends Serializable>

  • Type Parameters:
    T - 实体类类型
    I - 主键类型
    All Known Subinterfaces:
    BaseService<T,​I>
    All Known Implementing Classes:
    AbstractService

    public interface EntityService<T,​I extends Serializable>
    实体类基本接口
    Author:
    liuzh
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      long count​(T entity)
      以当前类作为条件查询总数
      int delete​(T entity)
      根据当前类的值作为条件进行删除(注意:当所有字段都没有值时可能会清库)
      <F> int deleteByFieldList​(Fn<T,​F> field, Collection<F> fieldValueList)
      根据指定字段集合删除
      int deleteById​(I id)
      根据主键进行删除
      List<T> findAll()
      查询全部
      <F> List<T> findByFieldList​(Fn<T,​F> field, Collection<F> fieldValueList)
      根据指定字段集合查询
      T findById​(I id)
      根据指定的主键查询
      List<T> findList​(T entity)
      以当前类作为条件查询
      T findOne​(T entity)
      以当前类作为条件查询一个,当结果多于1个时出错
      boolean pkHasValue​(T entity)
      主键是否有值
      T save​(T entity)
      保存(所有字段)
      T saveOrUpdate​(T entity)
      保存或更新(全部字段),当主键不存在时保存,存在时更新
      T saveOrUpdateSelective​(T entity)
      保存或更新(非空字段),当主键不存在时保存,存在时更新
      T saveSelective​(T entity)
      保存(非空字段,空的字段会使用数据库设置的默认值,但是不会字段反写)
      T update​(T entity)
      更新(所有字段)
      T update​(T entity, Fn<T,​Object>... updateFields)
      更新(指定字段)
      T updateSelective​(T entity)
      更新(非空字段)
      T updateSelective​(T entity, Fn<T,​Object>... forceUpdateFields)
      更新(非空字段),指定的强制更新字段不区分是否为空
    • Method Detail

      • save

        T save​(T entity)
        保存(所有字段)
        Parameters:
        entity - 实体类
        Returns:
        返回保存成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • saveSelective

        T saveSelective​(T entity)
        保存(非空字段,空的字段会使用数据库设置的默认值,但是不会字段反写)
        Parameters:
        entity - 实体类
        Returns:
        返回保存成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • update

        T update​(T entity)
        更新(所有字段)
        Parameters:
        entity - 实体类
        Returns:
        返回更新成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • update

        T update​(T entity,
                 Fn<T,​Object>... updateFields)
        更新(指定字段)
        Parameters:
        entity - 实体类
        updateFields - 需要更新的字段
        Returns:
        返回更新成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • updateSelective

        T updateSelective​(T entity)
        更新(非空字段)
        Parameters:
        entity - 实体类
        Returns:
        返回更新成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • updateSelective

        T updateSelective​(T entity,
                          Fn<T,​Object>... forceUpdateFields)
        更新(非空字段),指定的强制更新字段不区分是否为空
        Parameters:
        entity - 实体类
        forceUpdateFields - 强制更新的字段,不区分字段是否为 null
        Returns:
        返回更新成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • pkHasValue

        boolean pkHasValue​(T entity)
        主键是否有值
        Parameters:
        entity - 实体类
        Returns:
        true有值,false为空
      • saveOrUpdate

        T saveOrUpdate​(T entity)
        保存或更新(全部字段),当主键不存在时保存,存在时更新
        Parameters:
        entity - 实体类
        Returns:
        返回保存或更新成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • saveOrUpdateSelective

        T saveOrUpdateSelective​(T entity)
        保存或更新(非空字段),当主键不存在时保存,存在时更新
        Parameters:
        entity - 实体类
        Returns:
        返回保存或更新成功后的实体,远程服务调用时,由于序列化和反序列化,入参和返回值不是同一个对象
      • delete

        int delete​(T entity)
        根据当前类的值作为条件进行删除(注意:当所有字段都没有值时可能会清库)
        Parameters:
        entity - 实体类
        Returns:
        返回大于 1成功,0失败
      • deleteById

        int deleteById​(I id)
        根据主键进行删除
        Parameters:
        id - 指定的主键
        Returns:
        返回 1成功,0失败抛出异常
      • deleteByFieldList

        <F> int deleteByFieldList​(Fn<T,​F> field,
                                  Collection<F> fieldValueList)
        根据指定字段集合删除
        Type Parameters:
        F - 字段值类型
        Parameters:
        field - 字段
        fieldValueList - 字段值集合
        Returns:
        删除数据的条数
      • findById

        T findById​(I id)
        根据指定的主键查询
        Parameters:
        id - 主键
        Returns:
        实体
      • findOne

        T findOne​(T entity)
        以当前类作为条件查询一个,当结果多于1个时出错
        Parameters:
        entity - 实体类
        Returns:
        实体
      • findList

        List<T> findList​(T entity)
        以当前类作为条件查询
        Parameters:
        entity - 实体类
        Returns:
        实体集合
      • findByFieldList

        <F> List<T> findByFieldList​(Fn<T,​F> field,
                                    Collection<F> fieldValueList)
        根据指定字段集合查询
        Type Parameters:
        F - 字段值类型
        Parameters:
        field - 字段
        fieldValueList - 字段值集合
        Returns:
        实体集合
      • findAll

        List<T> findAll()
        查询全部
        Returns:
        实体集合
      • count

        long count​(T entity)
        以当前类作为条件查询总数
        Parameters:
        entity - 实体类
        Returns:
        实体集合