Interface EntityRecord<T,​I extends Serializable>

  • Type Parameters:
    T - 实体类类型
    I - 主键类型
    All Superinterfaces:
    io.mybatis.provider.EntityInfoMapper<T>, MapperRecord<T,​I,​BaseMapper<T,​I>>
    All Known Subinterfaces:
    ActiveRecord<T,​I>

    public interface EntityRecord<T,​I extends Serializable>
    extends MapperRecord<T,​I,​BaseMapper<T,​I>>
    建议将继承该抽象类的实现类的作用范围控制在 Service 层,不能超出范围,其它层使用时转换为 VO 或 DTO 后使用
    Author:
    liuzh
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.mybatis.provider.EntityInfoMapper

        io.mybatis.provider.EntityInfoMapper.CachingEntityClass
    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default long count()
      以当前类作为条件查询总数
      default int delete()
      根据当前类的值作为条件进行删除(注意:当所有字段都没有值时可能会清库)
      default <F> int deleteByFieldList​(Fn<T,​F> field, List<F> fieldValueList)
      根据指定字段集合删除
      default void deleteById()
      根据主键进行删除
      default void deleteById​(I id)
      根据指定的主键进行删除
      default List<T> findAll()
      查询全部
      default <F> List<T> findByFieldList​(Fn<T,​F> field, List<F> fieldValueList)
      根据指定字段集合查询
      default T findById​(I id)
      根据指定的主键查询
      default List<T> findList()
      以当前类作为条件查询
      default T findOne()
      以当前类作为条件查询一个,当结果多于1个时出错
      default boolean pkHasValue()
      主键是否有值
      default I pkValue()
      返回主键值,建议子类替换为效率更高的判断方式(例如主键为 id 的情况下,直接 return id)
      default void save()
      保存(所有字段)
      default void saveOrUpdate()
      保存或更新(全部字段),当主键不存在时保存,存在时更新
      default void saveOrUpdateSelective()
      保存或更新(非空字段),当主键不存在时保存,存在时更新
      default void saveSelective()
      保存(非空字段,空的字段会使用数据库设置的默认值,但是不会字段反写)
      default void update()
      根据主键更新(所有字段)
      default void updateSelective()
      根据主键更新(非空字段)
      default void updateSelective​(Fn<T,​Object>... forceUpdateFields)
      根据主键更新(非空字段),指定的强制更新字段不区分是否为空
      • Methods inherited from interface io.mybatis.provider.EntityInfoMapper

        entityClass, entityTable
    • Method Detail

      • save

        default void save()
        保存(所有字段)
      • saveSelective

        default void saveSelective()
        保存(非空字段,空的字段会使用数据库设置的默认值,但是不会字段反写)
      • update

        default void update()
        根据主键更新(所有字段)
      • updateSelective

        default void updateSelective()
        根据主键更新(非空字段)
      • updateSelective

        default void updateSelective​(Fn<T,​Object>... forceUpdateFields)
        根据主键更新(非空字段),指定的强制更新字段不区分是否为空
        Parameters:
        forceUpdateFields - 强制更新的字段,不区分字段是否为 null
      • pkValue

        default I pkValue()
        返回主键值,建议子类替换为效率更高的判断方式(例如主键为 id 的情况下,直接 return id)
        Returns:
        主键值
      • pkHasValue

        default boolean pkHasValue()
        主键是否有值
        Returns:
        true有值,false为空
      • saveOrUpdate

        default void saveOrUpdate()
        保存或更新(全部字段),当主键不存在时保存,存在时更新
      • saveOrUpdateSelective

        default void saveOrUpdateSelective()
        保存或更新(非空字段),当主键不存在时保存,存在时更新
      • delete

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

        default void deleteById()
        根据主键进行删除
      • deleteById

        default void deleteById​(I id)
        根据指定的主键进行删除
        Parameters:
        id - 指定的主键
      • deleteByFieldList

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

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

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

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

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

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

        default long count()
        以当前类作为条件查询总数
        Returns:
        实体集合