接口 IService<T>

  • 所有已知实现类:
    ServiceImpl

    public interface IService<T>
    顶级 Service
    从以下版本开始:
    2018-06-23
    作者:
    hubin
    • 字段概要

      字段 
      修饰符和类型 字段 说明
      static int DEFAULT_BATCH_SIZE
      默认批次提交数量
    • 方法概要

      所有方法 实例方法 抽象方法 默认方法 
      修饰符和类型 方法 说明
      default long count()
      查询总记录数
      default long count​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      根据 Wrapper 条件,查询总记录数
      com.baomidou.mybatisplus.core.mapper.BaseMapper<T> getBaseMapper()
      获取对应 entity 的 BaseMapper
      default T getById​(java.io.Serializable id)
      根据 ID 查询
      java.lang.Class<T> getEntityClass()
      获取 entity 的 class
      java.util.Map<java.lang.String,​java.lang.Object> getMap​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      根据 Wrapper,查询一条记录
      <V> V getObj​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper, java.util.function.Function<? super java.lang.Object,​V> mapper)
      根据 Wrapper,查询一条记录
      default T getOne​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      根据 Wrapper,查询一条记录
      T getOne​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper, boolean throwEx)
      根据 Wrapper,查询一条记录
      default com.baomidou.mybatisplus.extension.kotlin.KtQueryChainWrapper<T> ktQuery()
      链式查询 lambda 式 kotlin 使用
      default com.baomidou.mybatisplus.extension.kotlin.KtUpdateChainWrapper<T> ktUpdate()
      链式查询 lambda 式 kotlin 使用
      default LambdaQueryChainWrapper<T> lambdaQuery()
      链式查询 lambda 式
      default LambdaUpdateChainWrapper<T> lambdaUpdate()
      链式更改 lambda 式
      default java.util.List<T> list()
      查询所有
      default java.util.List<T> list​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      查询列表
      default java.util.List<T> listByIds​(java.util.Collection<? extends java.io.Serializable> idList)
      查询(根据ID 批量查询)
      default java.util.List<T> listByMap​(java.util.Map<java.lang.String,​java.lang.Object> columnMap)
      查询(根据 columnMap 条件)
      default java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> listMaps()
      查询所有列表
      default java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> listMaps​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      查询列表
      default java.util.List<java.lang.Object> listObjs()
      查询全部记录
      default java.util.List<java.lang.Object> listObjs​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      根据 Wrapper 条件,查询全部记录
      default <V> java.util.List<V> listObjs​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper, java.util.function.Function<? super java.lang.Object,​V> mapper)
      根据 Wrapper 条件,查询全部记录
      default <V> java.util.List<V> listObjs​(java.util.function.Function<? super java.lang.Object,​V> mapper)
      查询全部记录
      default <E extends com.baomidou.mybatisplus.core.metadata.IPage<T>>
      E
      page​(E page)
      无条件翻页查询
      default <E extends com.baomidou.mybatisplus.core.metadata.IPage<T>>
      E
      page​(E page, com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      翻页查询
      default <E extends com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map<java.lang.String,​java.lang.Object>>>
      E
      pageMaps​(E page)
      无条件翻页查询
      default <E extends com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map<java.lang.String,​java.lang.Object>>>
      E
      pageMaps​(E page, com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      翻页查询
      default QueryChainWrapper<T> query()
      链式查询 普通
      default boolean remove​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      根据 entity 条件,删除记录
      default boolean removeBatchByIds​(java.util.Collection<?> list)
      批量删除(jdbc批量提交)
      default boolean removeBatchByIds​(java.util.Collection<?> list, boolean useFill)
      批量删除(jdbc批量提交)
      default boolean removeBatchByIds​(java.util.Collection<?> list, int batchSize)
      批量删除(jdbc批量提交)
      default boolean removeBatchByIds​(java.util.Collection<?> list, int batchSize, boolean useFill)
      批量删除(jdbc批量提交)
      default boolean removeById​(java.io.Serializable id)
      根据 ID 删除
      default boolean removeById​(java.io.Serializable id, boolean useFill)
      根据 ID 删除
      default boolean removeById​(T entity)
      根据实体(ID)删除
      default boolean removeByIds​(java.util.Collection<?> list)
      删除(根据ID 批量删除)
      default boolean removeByIds​(java.util.Collection<?> list, boolean useFill)
      批量删除
      default boolean removeByMap​(java.util.Map<java.lang.String,​java.lang.Object> columnMap)
      根据 columnMap 条件,删除记录
      default boolean save​(T entity)
      插入一条记录(选择字段,策略插入)
      default boolean saveBatch​(java.util.Collection<T> entityList)
      插入(批量)
      boolean saveBatch​(java.util.Collection<T> entityList, int batchSize)
      插入(批量)
      boolean saveOrUpdate​(T entity)
      TableId 注解存在更新记录,否插入一条记录
      default boolean saveOrUpdate​(T entity, com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
      根据updateWrapper尝试更新,否继续执行saveOrUpdate(T)方法 此次修改主要是减少了此项业务代码的代码量(存在性验证之后的saveOrUpdate操作)
      default boolean saveOrUpdateBatch​(java.util.Collection<T> entityList)
      批量修改插入
      boolean saveOrUpdateBatch​(java.util.Collection<T> entityList, int batchSize)
      批量修改插入
      default UpdateChainWrapper<T> update()
      链式更改 普通
      default boolean update​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
      根据 UpdateWrapper 条件,更新记录 需要设置sqlset
      default boolean update​(T entity, com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
      根据 whereEntity 条件,更新记录
      default boolean updateBatchById​(java.util.Collection<T> entityList)
      根据ID 批量更新
      boolean updateBatchById​(java.util.Collection<T> entityList, int batchSize)
      根据ID 批量更新
      default boolean updateById​(T entity)
      根据 ID 选择修改
    • 字段详细资料

      • DEFAULT_BATCH_SIZE

        static final int DEFAULT_BATCH_SIZE
        默认批次提交数量
        另请参阅:
        常量字段值
    • 方法详细资料

      • save

        default boolean save​(T entity)
        插入一条记录(选择字段,策略插入)
        参数:
        entity - 实体对象
      • saveBatch

        @Transactional(rollbackFor=java.lang.Exception.class)
        default boolean saveBatch​(java.util.Collection<T> entityList)
        插入(批量)
        参数:
        entityList - 实体对象集合
      • saveBatch

        boolean saveBatch​(java.util.Collection<T> entityList,
                          int batchSize)
        插入(批量)
        参数:
        entityList - 实体对象集合
        batchSize - 插入批次数量
      • saveOrUpdateBatch

        @Transactional(rollbackFor=java.lang.Exception.class)
        default boolean saveOrUpdateBatch​(java.util.Collection<T> entityList)
        批量修改插入
        参数:
        entityList - 实体对象集合
      • saveOrUpdateBatch

        boolean saveOrUpdateBatch​(java.util.Collection<T> entityList,
                                  int batchSize)
        批量修改插入
        参数:
        entityList - 实体对象集合
        batchSize - 每次的数量
      • removeById

        default boolean removeById​(java.io.Serializable id)
        根据 ID 删除
        参数:
        id - 主键ID
      • removeById

        default boolean removeById​(java.io.Serializable id,
                                   boolean useFill)
        根据 ID 删除
        参数:
        id - 主键(类型必须与实体类型字段保持一致)
        useFill - 是否启用填充(为true的情况,会将入参转换实体进行delete删除)
        返回:
        删除结果
        从以下版本开始:
        3.5.0
      • removeById

        default boolean removeById​(T entity)
        根据实体(ID)删除
        参数:
        entity - 实体
        从以下版本开始:
        3.4.4
      • removeByMap

        default boolean removeByMap​(java.util.Map<java.lang.String,​java.lang.Object> columnMap)
        根据 columnMap 条件,删除记录
        参数:
        columnMap - 表字段 map 对象
      • remove

        default boolean remove​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        根据 entity 条件,删除记录
        参数:
        queryWrapper - 实体包装类 QueryWrapper
      • removeByIds

        default boolean removeByIds​(java.util.Collection<?> list)
        删除(根据ID 批量删除)
        参数:
        list - 主键ID或实体列表
      • removeByIds

        @Transactional(rollbackFor=java.lang.Exception.class)
        default boolean removeByIds​(java.util.Collection<?> list,
                                    boolean useFill)
        批量删除
        参数:
        list - 主键ID或实体列表
        useFill - 是否填充(为true的情况,会将入参转换实体进行delete删除)
        返回:
        删除结果
        从以下版本开始:
        3.5.0
      • removeBatchByIds

        @Transactional(rollbackFor=java.lang.Exception.class)
        default boolean removeBatchByIds​(java.util.Collection<?> list)
        批量删除(jdbc批量提交)
        参数:
        list - 主键ID或实体列表(主键ID类型必须与实体类型字段保持一致)
        返回:
        删除结果
        从以下版本开始:
        3.5.0
      • removeBatchByIds

        @Transactional(rollbackFor=java.lang.Exception.class)
        default boolean removeBatchByIds​(java.util.Collection<?> list,
                                         boolean useFill)
        批量删除(jdbc批量提交)
        参数:
        list - 主键ID或实体列表(主键ID类型必须与实体类型字段保持一致)
        useFill - 是否启用填充(为true的情况,会将入参转换实体进行delete删除)
        返回:
        删除结果
        从以下版本开始:
        3.5.0
      • removeBatchByIds

        default boolean removeBatchByIds​(java.util.Collection<?> list,
                                         int batchSize)
        批量删除(jdbc批量提交)
        参数:
        list - 主键ID或实体列表
        batchSize - 批次大小
        返回:
        删除结果
        从以下版本开始:
        3.5.0
      • removeBatchByIds

        default boolean removeBatchByIds​(java.util.Collection<?> list,
                                         int batchSize,
                                         boolean useFill)
        批量删除(jdbc批量提交)
        参数:
        list - 主键ID或实体列表
        batchSize - 批次大小
        useFill - 是否启用填充(为true的情况,会将入参转换实体进行delete删除)
        返回:
        删除结果
        从以下版本开始:
        3.5.0
      • updateById

        default boolean updateById​(T entity)
        根据 ID 选择修改
        参数:
        entity - 实体对象
      • update

        default boolean update​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
        根据 UpdateWrapper 条件,更新记录 需要设置sqlset
        参数:
        updateWrapper - 实体对象封装操作类 UpdateWrapper
      • update

        default boolean update​(T entity,
                               com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
        根据 whereEntity 条件,更新记录
        参数:
        entity - 实体对象
        updateWrapper - 实体对象封装操作类 UpdateWrapper
      • updateBatchById

        @Transactional(rollbackFor=java.lang.Exception.class)
        default boolean updateBatchById​(java.util.Collection<T> entityList)
        根据ID 批量更新
        参数:
        entityList - 实体对象集合
      • updateBatchById

        boolean updateBatchById​(java.util.Collection<T> entityList,
                                int batchSize)
        根据ID 批量更新
        参数:
        entityList - 实体对象集合
        batchSize - 更新批次数量
      • saveOrUpdate

        boolean saveOrUpdate​(T entity)
        TableId 注解存在更新记录,否插入一条记录
        参数:
        entity - 实体对象
      • getById

        default T getById​(java.io.Serializable id)
        根据 ID 查询
        参数:
        id - 主键ID
      • listByIds

        default java.util.List<T> listByIds​(java.util.Collection<? extends java.io.Serializable> idList)
        查询(根据ID 批量查询)
        参数:
        idList - 主键ID列表
      • listByMap

        default java.util.List<T> listByMap​(java.util.Map<java.lang.String,​java.lang.Object> columnMap)
        查询(根据 columnMap 条件)
        参数:
        columnMap - 表字段 map 对象
      • getOne

        default T getOne​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        根据 Wrapper,查询一条记录

        结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("LIMIT 1")

        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • getOne

        T getOne​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper,
                 boolean throwEx)
        根据 Wrapper,查询一条记录
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
        throwEx - 有多个 result 是否抛出异常
      • getMap

        java.util.Map<java.lang.String,​java.lang.Object> getMap​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        根据 Wrapper,查询一条记录
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • getObj

        <V> V getObj​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper,
                     java.util.function.Function<? super java.lang.Object,​V> mapper)
        根据 Wrapper,查询一条记录
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
        mapper - 转换函数
      • count

        default long count()
        查询总记录数
        另请参阅:
        Wrappers.emptyWrapper()
      • count

        default long count​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        根据 Wrapper 条件,查询总记录数
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • list

        default java.util.List<T> list​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        查询列表
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • list

        default java.util.List<T> list()
        查询所有
        另请参阅:
        Wrappers.emptyWrapper()
      • page

        default <E extends com.baomidou.mybatisplus.core.metadata.IPage<T>> E page​(E page,
                                                                                   com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        翻页查询
        参数:
        page - 翻页对象
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • page

        default <E extends com.baomidou.mybatisplus.core.metadata.IPage<T>> E page​(E page)
        无条件翻页查询
        参数:
        page - 翻页对象
        另请参阅:
        Wrappers.emptyWrapper()
      • listMaps

        default java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> listMaps​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        查询列表
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • listMaps

        default java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> listMaps()
        查询所有列表
        另请参阅:
        Wrappers.emptyWrapper()
      • listObjs

        default java.util.List<java.lang.Object> listObjs()
        查询全部记录
      • listObjs

        default <V> java.util.List<V> listObjs​(java.util.function.Function<? super java.lang.Object,​V> mapper)
        查询全部记录
        参数:
        mapper - 转换函数
      • listObjs

        default java.util.List<java.lang.Object> listObjs​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        根据 Wrapper 条件,查询全部记录
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • listObjs

        default <V> java.util.List<V> listObjs​(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper,
                                               java.util.function.Function<? super java.lang.Object,​V> mapper)
        根据 Wrapper 条件,查询全部记录
        参数:
        queryWrapper - 实体对象封装操作类 QueryWrapper
        mapper - 转换函数
      • pageMaps

        default <E extends com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map<java.lang.String,​java.lang.Object>>> E pageMaps​(E page,
                                                                                                                                            com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
        翻页查询
        参数:
        page - 翻页对象
        queryWrapper - 实体对象封装操作类 QueryWrapper
      • pageMaps

        default <E extends com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map<java.lang.String,​java.lang.Object>>> E pageMaps​(E page)
        无条件翻页查询
        参数:
        page - 翻页对象
        另请参阅:
        Wrappers.emptyWrapper()
      • getBaseMapper

        com.baomidou.mybatisplus.core.mapper.BaseMapper<T> getBaseMapper()
        获取对应 entity 的 BaseMapper
        返回:
        BaseMapper
      • getEntityClass

        java.lang.Class<T> getEntityClass()
        获取 entity 的 class
        返回:
        Class
      • query

        default QueryChainWrapper<T> query()
        链式查询 普通
        返回:
        QueryWrapper 的包装类
      • lambdaQuery

        default LambdaQueryChainWrapper<T> lambdaQuery()
        链式查询 lambda 式

        注意:不支持 Kotlin

        返回:
        LambdaQueryWrapper 的包装类
      • ktQuery

        default com.baomidou.mybatisplus.extension.kotlin.KtQueryChainWrapper<T> ktQuery()
        链式查询 lambda 式 kotlin 使用
        返回:
        KtQueryWrapper 的包装类
      • ktUpdate

        default com.baomidou.mybatisplus.extension.kotlin.KtUpdateChainWrapper<T> ktUpdate()
        链式查询 lambda 式 kotlin 使用
        返回:
        KtQueryWrapper 的包装类
      • update

        default UpdateChainWrapper<T> update()
        链式更改 普通
        返回:
        UpdateWrapper 的包装类
      • lambdaUpdate

        default LambdaUpdateChainWrapper<T> lambdaUpdate()
        链式更改 lambda 式

        注意:不支持 Kotlin

        返回:
        LambdaUpdateWrapper 的包装类
      • saveOrUpdate

        default boolean saveOrUpdate​(T entity,
                                     com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)

        根据updateWrapper尝试更新,否继续执行saveOrUpdate(T)方法 此次修改主要是减少了此项业务代码的代码量(存在性验证之后的saveOrUpdate操作)

        参数:
        entity - 实体对象