MyBatis-Plus CRUD接口-Mapper CRUD 接口

2022-03-23 17:08 更新
  • 通用 CRUD 封裝?BaseMapper?接口,為 Mybatis-Plus 啟動(dòng)時(shí)自動(dòng)解析實(shí)體表關(guān)系映射轉(zhuǎn)換為 Mybatis 內(nèi)部對象注入容器
  • 泛型 ??為任意實(shí)體對象
  • 參數(shù) ?Serializable ?為任意類型主鍵, Mybatis-Plus 不推薦使用復(fù)合主鍵約定,每一張表都有自己的唯一 id 主鍵
  • 對象 ?Wrapper ?為 條件構(gòu)造器

Insert

// 插入一條記錄
int insert(T entity);

參數(shù)說明

 參數(shù)名  類型  描述
 entity  T  實(shí)體對象

Delete

// 根據(jù) entity 條件,刪除記錄
int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
// 刪除(根據(jù)ID 批量刪除)
int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// 根據(jù) ID 刪除
int deleteById(Serializable id);
// 根據(jù) columnMap 條件,刪除記錄
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);

參數(shù)說明

 參數(shù)名  類型  描述
 ?wrapper?  Wrapper<T>  實(shí)體對象封裝操作類(可以為 null)
 ?idList?  Collection<? extends Serializable>  主鍵 ID 列表(不能為 null 以及 empty)
 ?id?  Serializable  主鍵 ID
 ?columnMap?  Map<String, Object>  表字段 map 對象

Update

// 根據(jù) whereWrapper 條件,更新記錄
int update(@Param(Constants.ENTITY) T updateEntity, @Param(Constants.WRAPPER) Wrapper<T> whereWrapper);
// 根據(jù) ID 修改
int updateById(@Param(Constants.ENTITY) T entity);

參數(shù)說明

 參數(shù)名  類型  描述
 ?entity?  T  實(shí)體對象 (set 條件值,可為 null)
 ?updateWrapper?  Wrapper<T>  實(shí)體對象封裝操作類(可以為 null,里面的 entity 用于生成 where 語句)

Select

// 根據(jù) ID 查詢
T selectById(Serializable id);
// 根據(jù) entity 條件,查詢一條記錄
T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

// 查詢(根據(jù)ID 批量查詢)
List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// 根據(jù) entity 條件,查詢?nèi)坑涗?List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 查詢(根據(jù) columnMap 條件)
List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗?List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗?。注意?只返回第一個(gè)字段的值
List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

// 根據(jù) entity 條件,查詢?nèi)坑涗洠ú⒎摚?IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗洠ú⒎摚?IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根據(jù) Wrapper 條件,查詢總記錄數(shù)
Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

參數(shù)說明

 參數(shù)名  類型  描述
 ?id?  Serializable  主鍵 ID
 ?queryWrapper?  Wrapper<T>  實(shí)體對象封裝操作類(可以為 null)
 ?idList?  Collection<? extends Serializable>  主鍵 ID 列表(不能為 null 以及 empty)
 ?columnMap?  Map<String, Object>  表字段 map 對象
 ?page?  IPage<T>  分頁查詢條件(可以為 RowBounds.DEFAULT)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號