💗wei_shuo的个人主页
💫wei_shuo的学习社区
🌐Hello World !
Mybatis-Plus CRUD
通用 Service CRUD 封装 IService 接口,进一步封装 CRUD 采用 get 查询
、remove 删除
、list 查询集合
、page 分页
的前缀命名方式区分 Mapper 层避免混淆 泛型 T 为任意实体对象 如果自定义通用 Service 方法,可以创建自己的 IBaseService 继承 Mybatis-Plus 提供的基类IService 对象 Wrapper 为 条件构造器
Service CRUD 接口
Save
类型 参数名 描述 T entity 实体对象 Collection entityList 实体对象集合 int batchSize 插入批次数量
boolean save ( T entity) ;
boolean saveBatch ( Collection < T > entityList) ;
boolean saveBatch ( Collection < T > entityList, int batchSize) ;
SaveOrUpdate
类型 参数名 描述 T entity 实体对象 Wrapper updateWrapper 实体对象封装操作类 UpdateWrapper Collection entityList 实体对象集合 int batchSize 插入批次数量
boolean saveOrUpdate ( T entity) ;
boolean saveOrUpdate ( T entity, Wrapper < T > updateWrapper) ;
boolean saveOrUpdateBatch ( Collection < T > entityList) ;
boolean saveOrUpdateBatch ( Collection < T > entityList, int batchSize) ;
Remove
类型 参数名 描述 Wrapper queryWrapper 实体包装类 QueryWrapper Serializable id 主键 ID Map<String, Object> columnMap 表字段 map 对象 Collection<? extends Serializable> idList 主键 ID 列表
boolean update ( Wrapper < T > updateWrapper) ;
boolean update ( T updateEntity, Wrapper < T > whereWrapper) ;
boolean updateById ( T entity) ;
boolean updateBatchById ( Collection < T > entityList) ;
boolean updateBatchById ( Collection < T > entityList, int batchSize) ;
Update
类型 参数名 描述 Wrapper updateWrapper 实体对象封装操作类 UpdateWrapper T entity 实体对象 Collection entityList 实体对象集合 int batchSize 更新批次数量
boolean update ( Wrapper < T > updateWrapper) ;
boolean update ( T updateEntity, Wrapper < T > whereWrapper) ;
boolean updateById ( T entity) ;
boolean updateBatchById ( Collection < T > entityList) ;
boolean updateBatchById ( Collection < T > entityList, int batchSize) ;
Get
类型 参数名 描述 Serializable id 主键 ID Wrapper queryWrapper 实体对象封装操作类 QueryWrapper boolean throwEx 有多个 result 是否抛出异常 T entity 实体对象 Function<? super Object, V> mapper 转换函数
T getById ( Serializable id) ;
T getOne ( Wrapper < T > queryWrapper) ;
T getOne ( Wrapper < T > queryWrapper, boolean throwEx) ;
Map < String , Object > getMap ( Wrapper < T > queryWrapper) ;
< V > V getObj ( Wrapper < T > queryWrapper, Function < ? super Object , V > mapper) ;
List
类型 参数名 描述 Wrapper queryWrapper 实体对象封装操作类 QueryWrapper Collection<? extends Serializable> idList 主键 ID 列表 Map<String, Object> columnMap 表字段 map 对象 Function<? super Object, V> mapper 转换函数
List < T > list ( ) ;
List < T > list ( Wrapper < T > queryWrapper) ;
Collection < T > listByIds ( Collection < ? extends Serializable > idList) ;
Collection < T > listByMap ( Map < String , Object > columnMap) ;
List < Map < String , Object > > listMaps ( ) ;
List < Map < String , Object > > listMaps ( Wrapper < T > queryWrapper) ;
List < Object > listObjs ( ) ;
< V > List < V > listObjs ( Function < ? super Object , V > mapper) ;
List < Object > listObjs ( Wrapper < T > queryWrapper) ;
< V > List < V > listObjs ( Wrapper < T > queryWrapper, Function < ? super Object , V > mapper) ;
Page
IPage page 翻页对象 Wrapper queryWrapper 实体对象封装操作类 QueryWrapper
IPage < T > page ( IPage < T > page) ;
IPage < T > page ( IPage < T > page, Wrapper < T > queryWrapper) ;
IPage < Map < String , Object > > pageMaps ( IPage < T > page) ;
IPage < Map < String , Object > > pageMaps ( IPage < T > page, Wrapper < T > queryWrapper) ;
Count
类型 参数名 描述 Wrapper queryWrapper 实体对象封装操作类 QueryWrapper
int count ( ) ;
int count ( Wrapper < T > queryWrapper) ;
Chain
query
QueryChainWrapper < T > query ( ) ;
LambdaQueryChainWrapper < T > lambdaQuery ( ) ;
query ( ) . eq ( "column" , value) . one ( ) ;
lambdaQuery ( ) . eq ( Entity :: getId , value) . list ( ) ;
update
UpdateChainWrapper < T > update ( ) ;
LambdaUpdateChainWrapper < T > lambdaUpdate ( ) ;
update ( ) . eq ( "column" , value) . remove ( ) ;
lambdaUpdate ( ) . eq ( Entity :: getId , value) . update ( entity) ;
Mapper CRUD 接口
Insert
int insert ( T entity) ;
Delete
类型 参数名 描述 Wrapper wrapper 实体对象封装操作类(可以为 null) Collection<? extends Serializable> idList 主键 ID 列表(不能为 null 以及 empty) Serializable id 主键 ID Map<String, Object> columnMap 表字段 map 对象
int delete ( @Param ( Constants . WRAPPER ) Wrapper < T > wrapper) ;
int deleteBatchIds ( @Param ( Constants . COLLECTION ) Collection < ? extends Serializable > idList) ;
int deleteById ( Serializable id) ;
int deleteByMap ( @Param ( Constants . COLUMN_MAP ) Map < String , Object > columnMap) ;
Update
类型 参数名 描述 T entity 实体对象 (set 条件值,可为 null) Wrapper updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
调用updateById
方法前,需要在T entity
(对应的实体类)中的主键属性上加上@TableId
注解
int update ( @Param ( Constants . ENTITY ) T updateEntity, @Param ( Constants . WRAPPER ) Wrapper < T > whereWrapper) ;
int updateById ( @Param ( Constants . ENTITY ) T entity) ;
Select
类型 参数名 描述 Serializable id 主键 ID Wrapper queryWrapper 实体对象封装操作类(可以为 null) Collection<? extends Serializable> idList 主键 ID 列表(不能为 null 以及 empty) Map<String, Object> columnMap 表字段 map 对象 IPage page 分页查询条件(可以为 RowBounds.DEFAULT)
T selectById ( Serializable id) ;
T selectOne ( @Param ( Constants . WRAPPER ) Wrapper < T > queryWrapper) ;
List < T > selectBatchIds ( @Param ( Constants . COLLECTION ) Collection < ? extends Serializable > idList) ;
List < T > selectList ( @Param ( Constants . WRAPPER ) Wrapper < T > queryWrapper) ;
List < T > selectByMap ( @Param ( Constants . COLUMN_MAP ) Map < String , Object > columnMap) ;
List < Map < String , Object > > selectMaps ( @Param ( Constants . WRAPPER ) Wrapper < T > queryWrapper) ;
List < Object > selectObjs ( @Param ( Constants . WRAPPER ) Wrapper < T > queryWrapper) ;
IPage < T > selectPage ( IPage < T > page, @Param ( Constants . WRAPPER ) Wrapper < T > queryWrapper) ;
IPage < Map < String , Object > > selectMapsPage ( IPage < T > page, @Param ( Constants . WRAPPER ) Wrapper < T > queryWrapper) ;
Integer selectCount ( @Param ( Constants . WRAPPER ) Wrapper < T > queryWrapper) ;
🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——点赞
👍收藏
⭐️评论
📝