接口 IService<T>

所有已知实现类:
ServiceImpl

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

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

    修饰符和类型
    方法
    说明
    default long
    查询总记录数
    default long
    count(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    根据 Wrapper 条件,查询总记录数
    default boolean
    exists(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    查询指定条件是否存在数据
    com.baomidou.mybatisplus.core.mapper.BaseMapper<T>
    获取对应 entity 的 BaseMapper
    default T
    根据 ID 查询
    获取 entity 的 class
    getMap(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    根据 Wrapper,查询一条记录
    <V> V
    getObj(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper, Function<? super Object,V> mapper)
    根据 Wrapper,查询一条记录
    default T
    getOne(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    根据 Wrapper,查询一条记录
    getOne(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper, boolean throwEx)
    根据 Wrapper,查询一条记录
    default Optional<T>
    getOneOpt(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    根据 Wrapper,查询一条记录
    getOneOpt(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper, boolean throwEx)
    根据 Wrapper,查询一条记录
    default Optional<T>
    根据 ID 查询,返回一个Option对象
    default com.baomidou.mybatisplus.extension.kotlin.KtQueryChainWrapper<T>
    链式查询 lambda 式 kotlin 使用
    default com.baomidou.mybatisplus.extension.kotlin.KtUpdateChainWrapper<T>
    链式查询 lambda 式 kotlin 使用
    链式查询 lambda 式
    lambdaQuery(T entity)
    链式查询 lambda 式
    链式更改 lambda 式
    default List<T>
    查询所有
    default List<T>
    list(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    查询列表
    default List<T>
    list(com.baomidou.mybatisplus.core.metadata.IPage<T> page)
    分页查询单表数据
    default List<T>
    list(com.baomidou.mybatisplus.core.metadata.IPage<T> page, com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    查询列表
    default List<T>
    listByIds(Collection<? extends Serializable> idList)
    查询(根据ID 批量查询)
    default List<T>
    listByMap(Map<String,Object> columnMap)
    查询(根据 columnMap 条件)
    default List<Map<String,Object>>
    查询所有列表
    default List<Map<String,Object>>
    listMaps(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    查询列表
    default List<Map<String,Object>>
    listMaps(com.baomidou.mybatisplus.core.metadata.IPage<? extends Map<String,Object>> page)
    查询列表
    default List<Map<String,Object>>
    listMaps(com.baomidou.mybatisplus.core.metadata.IPage<? extends Map<String,Object>> page, com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    查询列表
    default <E> List<E>
    查询全部记录
    default <E> List<E>
    listObjs(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    根据 Wrapper 条件,查询全部记录
    default <V> List<V>
    listObjs(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper, Function<? super Object,V> mapper)
    根据 Wrapper 条件,查询全部记录
    default <V> List<V>
    listObjs(Function<? super 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<Map<String, Object>>>
    E
    pageMaps(E page)
    无条件翻页查询
    default <E extends com.baomidou.mybatisplus.core.metadata.IPage<Map<String, Object>>>
    E
    pageMaps(E page, com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    翻页查询
    链式查询 普通
    default boolean
    remove(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
    根据 entity 条件,删除记录
    default boolean
    批量删除(jdbc批量提交)
    default boolean
    removeBatchByIds(Collection<?> list, boolean useFill)
    批量删除(jdbc批量提交)
    default boolean
    removeBatchByIds(Collection<?> list, int batchSize)
    批量删除(jdbc批量提交)
    default boolean
    removeBatchByIds(Collection<?> list, int batchSize, boolean useFill)
    批量删除(jdbc批量提交)
    default boolean
    根据 ID 删除
    default boolean
    removeById(Serializable id, boolean useFill)
    根据 ID 删除
    default boolean
    removeById(T entity)
    根据实体(ID)删除
    default boolean
    删除(根据ID 批量删除)
    default boolean
    removeByIds(Collection<?> list, boolean useFill)
    批量删除
    default boolean
    根据 columnMap 条件,删除记录
    default boolean
    save(T entity)
    插入一条记录(选择字段,策略插入)
    default boolean
    saveBatch(Collection<T> entityList)
    插入(批量)
    boolean
    saveBatch(Collection<T> entityList, int batchSize)
    插入(批量)
    boolean
    saveOrUpdate(T entity)
    TableId 注解存在更新记录,否插入一条记录
    default boolean
    saveOrUpdate(T entity, com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
    已过时。
    default boolean
    批量修改插入
    boolean
    saveOrUpdateBatch(Collection<T> entityList, int batchSize)
    批量修改插入
    链式更改 普通
    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
    根据ID 批量更新
    boolean
    updateBatchById(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(Collection<T> entityList)
      插入(批量)
      参数:
      entityList - 实体对象集合
    • saveBatch

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

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

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

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

      default boolean removeById(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(Map<String,Object> columnMap)
      根据 columnMap 条件,删除记录
      参数:
      columnMap - 表字段 map 对象
    • remove

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

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

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

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

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

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

      default boolean removeBatchByIds(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

      此方法无法进行自动填充,如需自动填充请使用update(Object, Wrapper)

      参数:
      updateWrapper - 实体对象封装操作类 UpdateWrapper
    • update

      default boolean update(T entity, com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
      根据 whereEntity 条件,更新记录
      参数:
      entity - 实体对象(当entity为空时无法进行自动填充)
      updateWrapper - 实体对象封装操作类 UpdateWrapper
    • updateBatchById

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

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

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

      default T getById(Serializable id)
      根据 ID 查询
      参数:
      id - 主键ID
    • getOptById

      default Optional<T> getOptById(Serializable id)
      根据 ID 查询,返回一个Option对象
      参数:
      id - 主键ID
      返回:
      Optional
    • listByIds

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

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

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

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

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

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

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

      参数:
      queryWrapper - 实体对象封装操作类 QueryWrapper
      返回:
      Optional 返回一个Optional对象
    • getOne

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

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

      Map<String,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, Function<? super Object,V> mapper)
      根据 Wrapper,查询一条记录
      参数:
      queryWrapper - 实体对象封装操作类 QueryWrapper
      mapper - 转换函数
    • exists

      default boolean exists(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      查询指定条件是否存在数据
      另请参阅:
      • Wrappers.emptyWrapper()
    • count

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

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

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

      default List<T> list(com.baomidou.mybatisplus.core.metadata.IPage<T> page, com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      查询列表
      参数:
      page - 分页条件
      queryWrapper - queryWrapper 实体对象封装操作类 QueryWrapper
      返回:
      列表数据
      从以下版本开始:
      3.5.3.2
    • list

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

      default List<T> list(com.baomidou.mybatisplus.core.metadata.IPage<T> page)
      分页查询单表数据
      参数:
      page - 分页条件
      返回:
      列表数据
      从以下版本开始:
      3.5.3.2
    • 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 List<Map<String,Object>> listMaps(com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      查询列表
      参数:
      queryWrapper - 实体对象封装操作类 QueryWrapper
    • listMaps

      default List<Map<String,Object>> listMaps(com.baomidou.mybatisplus.core.metadata.IPage<? extends Map<String,Object>> page, com.baomidou.mybatisplus.core.conditions.Wrapper<T> queryWrapper)
      查询列表
      参数:
      page - 分页条件
      queryWrapper - 实体对象封装操作类 QueryWrapper
      返回:
      列表数据
      从以下版本开始:
      3.5.3.2
    • listMaps

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

      default List<Map<String,Object>> listMaps(com.baomidou.mybatisplus.core.metadata.IPage<? extends Map<String,Object>> page)
      查询列表
      参数:
      page - 分页条件
      另请参阅:
      • Wrappers.emptyWrapper()
    • listObjs

      default <E> List<E> listObjs()
      查询全部记录
    • listObjs

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

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

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

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

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

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

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

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

      注意:不支持 Kotlin

      返回:
      LambdaQueryWrapper 的包装类
    • lambdaQuery

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

      注意:不支持 Kotlin

      参数:
      entity - 实体对象
      返回:
      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

      @Deprecated default boolean saveOrUpdate(T entity, com.baomidou.mybatisplus.core.conditions.Wrapper<T> updateWrapper)
      已过时。

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

      该方法不推荐在多线程并发下使用,并发可能存在间隙锁的问题,可以采用先查询后判断是否更新或保存。

      该方法存在安全隐患将在后续大版本删除

      参数:
      entity - 实体对象