接口 BaseMapper<T>
- 所有超级接口:
Mapper<T>
Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能
这个 Mapper 支持 id 泛型
- 从以下版本开始:
- 2016-01-23
- 作者:
- hubin
-
方法概要
修饰符和类型方法说明int根据 entity 条件,删除记录default intdeleteBatchIds(Collection<?> idList) 已过时。default int根据 ID 删除default intdeleteById(Object obj, boolean useFill) 根据 ID 删除intdeleteById(T entity) 根据实体(ID)删除default intdeleteByIds(Collection<?> idList) 删除(根据ID或实体 批量删除)default intdeleteByIds(Collection<?> collections, boolean useFill) 删除(根据ID或实体 批量删除)default intdeleteByMap(Map<String, Object> columnMap) 根据 columnMap 条件,删除记录default boolean根据 Wrapper 条件,判断是否存在记录default List<org.apache.ibatis.executor.BatchResult> insert(Collection<T> entityList) 插入(批量)default List<org.apache.ibatis.executor.BatchResult> insert(Collection<T> entityList, int batchSize) 插入(批量)int插入一条记录default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList) 批量修改或插入default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList, int batchSize) 批量修改或插入default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList, BiPredicate<BatchSqlSession, T> insertPredicate) 批量修改或插入default List<org.apache.ibatis.executor.BatchResult> insertOrUpdate(Collection<T> entityList, BiPredicate<BatchSqlSession, T> insertPredicate, int batchSize) 批量修改或插入default booleaninsertOrUpdate(T entity) 主键存在更新记录,否插入一条记录selectBatchIds(Collection<? extends Serializable> idList) 已过时。3.5.8default voidselectBatchIds(Collection<? extends Serializable> idList, org.apache.ibatis.session.ResultHandler<T> resultHandler) 已过时。3.5.8根据 ID 查询selectByIds(Collection<? extends Serializable> idList) 查询(根据ID 批量查询)voidselectByIds(Collection<? extends Serializable> idList, org.apache.ibatis.session.ResultHandler<T> resultHandler) 查询(根据ID 批量查询)selectByMap(Map<String, Object> columnMap) 查询(根据 columnMap 条件)default voidselectByMap(Map<String, Object> columnMap, org.apache.ibatis.session.ResultHandler<T> resultHandler) 查询(根据 columnMap 条件)selectCount(Wrapper<T> queryWrapper) 根据 Wrapper 条件,查询总记录数selectList(Wrapper<T> queryWrapper) 根据 entity 条件,查询全部记录voidselectList(Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<T> resultHandler) 根据 entity 条件,查询全部记录selectList(IPage<T> page, Wrapper<T> queryWrapper) 根据 entity 条件,查询全部记录(并翻页)voidselectList(IPage<T> page, Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<T> resultHandler) 根据 entity 条件,查询全部记录(并翻页)selectMaps(Wrapper<T> queryWrapper) 根据 Wrapper 条件,查询全部记录voidselectMaps(Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<Map<String, Object>> resultHandler) 根据 Wrapper 条件,查询全部记录根据 Wrapper 条件,查询全部记录(并翻页)voidselectMaps(IPage<? extends Map<String, Object>> page, Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<Map<String, Object>> resultHandler) 根据 Wrapper 条件,查询全部记录(并翻页)selectMapsPage(P page, Wrapper<T> queryWrapper) 根据 Wrapper 条件,查询全部记录(并翻页)<E> List<E> selectObjs(Wrapper<T> queryWrapper) 根据 Wrapper 条件,查询全部记录<E> voidselectObjs(Wrapper<T> queryWrapper, org.apache.ibatis.session.ResultHandler<E> resultHandler) 根据 Wrapper 条件,查询全部记录default T根据 entity 条件,查询一条记录default T根据 entity 条件,查询一条记录,现在会根据throwEx参数判断是否抛出异常,如果为false就直接返回一条数据selectPage(P page, Wrapper<T> queryWrapper) 根据 entity 条件,查询全部记录(并翻页)default int根据 Wrapper 更新记录int根据 whereEntity 条件,更新记录default List<org.apache.ibatis.executor.BatchResult> updateById(Collection<T> entityList) 根据ID 批量更新default List<org.apache.ibatis.executor.BatchResult> updateById(Collection<T> entityList, int batchSize) 根据ID 批量更新intupdateById(T entity) 根据 ID 修改
-
方法详细资料
-
insert
插入一条记录- 参数:
entity- 实体对象
-
deleteById
根据 ID 删除- 参数:
id- 主键ID
-
deleteById
根据 ID 删除- 参数:
obj- 主键ID或实体useFill- 是否填充- 从以下版本开始:
- 3.5.7
-
deleteById
根据实体(ID)删除- 参数:
entity- 实体对象- 从以下版本开始:
- 3.4.4
-
deleteByMap
根据 columnMap 条件,删除记录- 参数:
columnMap- 表字段 map 对象
-
delete
根据 entity 条件,删除记录- 参数:
queryWrapper- 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
-
deleteBatchIds
已过时。3.5.7deleteByIds(Collection)删除(根据ID或实体 批量删除)- 参数:
idList- 主键ID列表或实体列表(不能为 null 以及 empty)
-
deleteByIds
删除(根据ID或实体 批量删除)- 参数:
idList- 主键ID列表或实体列表(不能为 null 以及 empty)- 从以下版本开始:
- 3.5.7
-
deleteByIds
删除(根据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
根据 ID 修改- 参数:
entity- 实体对象
-
update
根据 whereEntity 条件,更新记录- 参数:
entity- 实体对象 (set 条件值,可以为 null,当entity为null时,无法进行自动填充)updateWrapper- 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
-
update
根据 Wrapper 更新记录此方法无法进行自动填充,如需自动填充请使用
update(Object, Wrapper)- 参数:
updateWrapper-UpdateWrapperorLambdaUpdateWrapper- 从以下版本开始:
- 3.5.4
-
selectById
根据 ID 查询- 参数:
id- 主键ID
-
selectByIds
查询(根据ID 批量查询)- 参数:
idList- 主键ID列表(不能为 null 以及 empty)- 返回:
- 数据列表
-
selectBatchIds
已过时。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
查询(根据 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
根据 entity 条件,查询一条记录查询一条记录,例如 qw.last("limit 1") 限制取一条记录, 注意:多条数据会报异常
- 参数:
queryWrapper- 实体对象封装操作类(可以为 null)
-
selectOne
根据 entity 条件,查询一条记录,现在会根据throwEx参数判断是否抛出异常,如果为false就直接返回一条数据查询一条记录,例如 qw.last("limit 1") 限制取一条记录, 注意:多条数据会报异常
- 参数:
queryWrapper- 实体对象封装操作类(可以为 null)throwEx- boolean 参数,为true如果存在多个结果直接抛出异常
-
exists
根据 Wrapper 条件,判断是否存在记录- 参数:
queryWrapper- 实体对象封装操作类- 返回:
- 是否存在记录
-
selectCount
根据 Wrapper 条件,查询总记录数- 参数:
queryWrapper- 实体对象封装操作类(可以为 null)
-
selectList
根据 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
根据 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
根据 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
根据 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
根据 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
主键存在更新记录,否插入一条记录- 参数:
entity- 实体对象 (不能为空)- 从以下版本开始:
- 3.5.7
-
insert
插入(批量)- 参数:
entityList- 实体对象集合- 从以下版本开始:
- 3.5.7
-
insert
default List<org.apache.ibatis.executor.BatchResult> insert(Collection<T> entityList, int batchSize) 插入(批量)- 参数:
entityList- 实体对象集合batchSize- 插入批次数量- 从以下版本开始:
- 3.5.7
-
updateById
根据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
批量修改或插入- 参数:
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
-
deleteByIds(Collection)