接口 BaseMapper<T>

所有超级接口:
Mapper<T>

public interface BaseMapper<T> extends Mapper<T>
Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能

这个 Mapper 支持 id 泛型

从以下版本开始:
2016-01-23
作者:
hubin
  • 方法详细资料

    • insert

      int insert(T entity)
      插入一条记录
      参数:
      entity - 实体对象
    • deleteById

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

      default int deleteById(Object obj, boolean useFill)
      根据 ID 删除
      参数:
      obj - 主键ID或实体
      useFill - 是否填充
      从以下版本开始:
      3.5.7
    • deleteById

      int deleteById(T entity)
      根据实体(ID)删除
      参数:
      entity - 实体对象
      从以下版本开始:
      3.4.4
    • deleteByMap

      default int deleteByMap(Map<String,Object> columnMap)
      根据 columnMap 条件,删除记录
      参数:
      columnMap - 表字段 map 对象
    • delete

      int delete(@Param("ew") Wrapper<T> queryWrapper)
      根据 entity 条件,删除记录
      参数:
      queryWrapper - 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
    • deleteBatchIds

      @Deprecated default int deleteBatchIds(@Param("coll") Collection<?> idList)
      已过时。
      删除(根据ID或实体 批量删除)
      参数:
      idList - 主键ID列表或实体列表(不能为 null 以及 empty)
    • deleteByIds

      default int deleteByIds(@Param("coll") Collection<?> idList)
      删除(根据ID或实体 批量删除)
      参数:
      idList - 主键ID列表或实体列表(不能为 null 以及 empty)
      从以下版本开始:
      3.5.7
    • deleteByIds

      default int deleteByIds(@Param("coll") Collection<?> collections, boolean useFill)
      删除(根据ID或实体 批量删除)

      普通删除: DELETE FROM h2user WHERE id IN ( ? , ? )

      逻辑删除: UPDATE h2user SET deleted=1 WHERE id IN ( ? , ? ) AND deleted=0

      逻辑删除(填充): UPDATE h2user SET delete_user = 'xxx', deleted=1 WHERE id IN ( ? , ? ) AND deleted=0

        注意:无论参数为id还是实体,填充参数只会以方法追加的et参数为准.

      参数:
      collections - 主键ID列表或实体列表(不能为 null 以及 empty)
      useFill - 逻辑删除下是否填充
      从以下版本开始:
      3.5.7
    • updateById

      int updateById(@Param("et") T entity)
      根据 ID 修改
      参数:
      entity - 实体对象
    • update

      int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper)
      根据 whereEntity 条件,更新记录
      参数:
      entity - 实体对象 (set 条件值,可以为 null,当entity为null时,无法进行自动填充)
      updateWrapper - 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
    • update

      default int update(@Param("ew") Wrapper<T> updateWrapper)
      根据 Wrapper 更新记录

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

      参数:
      updateWrapper - UpdateWrapper or LambdaUpdateWrapper
      从以下版本开始:
      3.5.4
    • selectById

      T selectById(Serializable id)
      根据 ID 查询
      参数:
      id - 主键ID
    • selectByIds

      List<T> selectByIds(@Param("coll") Collection<? extends Serializable> idList)
      查询(根据ID 批量查询)
      参数:
      idList - 主键ID列表(不能为 null 以及 empty)
      返回:
      数据列表
    • selectBatchIds

      default List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList)
      已过时。
      3.5.8
      查询(根据ID 批量查询)
      参数:
      idList - 主键ID列表(不能为 null 以及 empty)
      返回:
      数据列表
    • selectByIds

      void selectByIds(@Param("coll") Collection<? extends Serializable> idList, org.apache.ibatis.session.ResultHandler<T> resultHandler)
      查询(根据ID 批量查询)
      参数:
      idList - idList 主键ID列表(不能为 null 以及 empty)
      resultHandler - resultHandler 结果处理器 ResultHandler
      从以下版本开始:
      3.5.8
    • selectBatchIds

      @Deprecated default void selectBatchIds(@Param("coll") Collection<? extends Serializable> idList, org.apache.ibatis.session.ResultHandler<T> resultHandler)
      已过时。
      3.5.8
      参数:
      idList - idList 主键ID列表(不能为 null 以及 empty)
      resultHandler - resultHandler 结果处理器 ResultHandler
      从以下版本开始:
      3.5.4
    • selectByMap

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

      default void selectByMap(Map<String,Object> columnMap, org.apache.ibatis.session.ResultHandler<T> resultHandler)
      查询(根据 columnMap 条件)
      参数:
      columnMap - 表字段 map 对象
      resultHandler - resultHandler 结果处理器 ResultHandler
      从以下版本开始:
      3.5.4
    • selectOne

      default T selectOne(@Param("ew") Wrapper<T> queryWrapper)
      根据 entity 条件,查询一条记录

      查询一条记录,例如 qw.last("limit 1") 限制取一条记录, 注意:多条数据会报异常

      参数:
      queryWrapper - 实体对象封装操作类(可以为 null)
    • selectOne

      default T selectOne(@Param("ew") Wrapper<T> queryWrapper, boolean throwEx)
      根据 entity 条件,查询一条记录,现在会根据throwEx参数判断是否抛出异常,如果为false就直接返回一条数据

      查询一条记录,例如 qw.last("limit 1") 限制取一条记录, 注意:多条数据会报异常

      参数:
      queryWrapper - 实体对象封装操作类(可以为 null)
      throwEx - boolean 参数,为true如果存在多个结果直接抛出异常
    • exists

      default boolean exists(Wrapper<T> queryWrapper)
      根据 Wrapper 条件,判断是否存在记录
      参数:
      queryWrapper - 实体对象封装操作类
      返回:
      是否存在记录
    • selectCount

      Long selectCount(@Param("ew") Wrapper<T> queryWrapper)
      根据 Wrapper 条件,查询总记录数
      参数:
      queryWrapper - 实体对象封装操作类(可以为 null)
    • selectList

      List<T> selectList(@Param("ew") Wrapper<T> queryWrapper)
      根据 entity 条件,查询全部记录
      参数:
      queryWrapper - 实体对象封装操作类(可以为 null)
    • selectList

      void selectList(@Param("ew") Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<T> resultHandler)
      根据 entity 条件,查询全部记录
      参数:
      queryWrapper - 实体对象封装操作类(可以为 null)
      resultHandler - 结果处理器 ResultHandler
      从以下版本开始:
      3.5.4
    • selectList

      List<T> selectList(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper)
      根据 entity 条件,查询全部记录(并翻页)
      参数:
      page - 分页查询条件
      queryWrapper - 实体对象封装操作类(可以为 null)
      从以下版本开始:
      3.5.3.2
    • selectList

      void selectList(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<T> resultHandler)
      根据 entity 条件,查询全部记录(并翻页)
      参数:
      page - 分页查询条件
      queryWrapper - 实体对象封装操作类(可以为 null)
      resultHandler - 结果处理器 ResultHandler
      从以下版本开始:
      3.5.4
    • selectMaps

      List<Map<String,Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper)
      根据 Wrapper 条件,查询全部记录
      参数:
      queryWrapper - 实体对象封装操作类
    • selectMaps

      void selectMaps(@Param("ew") Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<Map<String,Object>> resultHandler)
      根据 Wrapper 条件,查询全部记录
      参数:
      queryWrapper - 实体对象封装操作类
      resultHandler - 结果处理器 ResultHandler
      从以下版本开始:
      3.5.4
    • selectMaps

      List<Map<String,Object>> selectMaps(IPage<? extends Map<String,Object>> page, @Param("ew") Wrapper<T> queryWrapper)
      根据 Wrapper 条件,查询全部记录(并翻页)
      参数:
      page - 分页查询条件
      queryWrapper - 实体对象封装操作类
      从以下版本开始:
      3.5.3.2
    • selectMaps

      void selectMaps(IPage<? extends Map<String,Object>> page, @Param("ew") Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<Map<String,Object>> resultHandler)
      根据 Wrapper 条件,查询全部记录(并翻页)
      参数:
      page - 分页查询条件
      queryWrapper - 实体对象封装操作类
      resultHandler - 结果处理器 ResultHandler
      从以下版本开始:
      3.5.4
    • selectObjs

      <E> List<E> selectObjs(@Param("ew") Wrapper<T> queryWrapper)
      根据 Wrapper 条件,查询全部记录

      注意: 只返回第一个字段的值

      参数:
      queryWrapper - 实体对象封装操作类(可以为 null)
    • selectObjs

      <E> void selectObjs(@Param("ew") Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<E> resultHandler)
      根据 Wrapper 条件,查询全部记录

      注意: 只返回第一个字段的值

      参数:
      queryWrapper - 实体对象封装操作类(可以为 null)
      resultHandler - 结果处理器 ResultHandler
      从以下版本开始:
      3.5.4
    • selectPage

      default <P extends IPage<T>> P selectPage(P page, @Param("ew") Wrapper<T> queryWrapper)
      根据 entity 条件,查询全部记录(并翻页)
      参数:
      page - 分页查询条件
      queryWrapper - 实体对象封装操作类(可以为 null)
    • selectMapsPage

      default <P extends IPage<Map<String, Object>>> P selectMapsPage(P page, @Param("ew") Wrapper<T> queryWrapper)
      根据 Wrapper 条件,查询全部记录(并翻页)
      参数:
      page - 分页查询条件
      queryWrapper - 实体对象封装操作类
    • insertOrUpdate

      default boolean insertOrUpdate(T entity)
      主键存在更新记录,否插入一条记录
      参数:
      entity - 实体对象 (不能为空)
      从以下版本开始:
      3.5.7
    • insert

      default List<org.apache.ibatis.executor.BatchResult> insert(Collection<T> entityList)
      插入(批量)
      参数:
      entityList - 实体对象集合
      从以下版本开始:
      3.5.7
    • insert

      default List<org.apache.ibatis.executor.BatchResult> insert(Collection<T> entityList, int batchSize)
      插入(批量)
      参数:
      entityList - 实体对象集合
      batchSize - 插入批次数量
      从以下版本开始:
      3.5.7
    • updateById

      default List<org.apache.ibatis.executor.BatchResult> updateById(Collection<T> entityList)
      根据ID 批量更新
      参数:
      entityList - 实体对象集合
      从以下版本开始:
      3.5.7
    • updateById

      default List<org.apache.ibatis.executor.BatchResult> updateById(Collection<T> entityList, int batchSize)
      根据ID 批量更新
      参数:
      entityList - 实体对象集合
      batchSize - 插入批次数量
      从以下版本开始:
      3.5.7
    • insertOrUpdate

      default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList)
      批量修改或插入
      参数:
      entityList - 实体对象集合
      从以下版本开始:
      3.5.7
    • insertOrUpdate

      default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList, int batchSize)
      批量修改或插入
      参数:
      entityList - 实体对象集合
      batchSize - 插入批次数量
      从以下版本开始:
      3.5.7
    • insertOrUpdate

      default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList, BiPredicate<BatchSqlSession,T> insertPredicate)
      批量修改或插入
      参数:
      entityList - 实体对象集合
      从以下版本开始:
      3.5.7
    • insertOrUpdate

      default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList, BiPredicate<BatchSqlSession,T> insertPredicate, int batchSize)
      批量修改或插入
      参数:
      entityList - 实体对象集合
      batchSize - 插入批次数量
      从以下版本开始:
      3.5.7