Mapper層繼承BaseMapper<T>需要引入的pom依賴方式

Mapper層繼承BaseMapper<T>引入pom依賴

<!-- mp依賴
               mybatisPlus 會自動的維護Mybatis 以及MyBatis-spring相關的依賴
        -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.0.3</version>
        </dependency>

Mybatis-Plus的BaseMapper用法

BaseMapper 用法

Mapper 繼承該接口後,無需編寫 mapper.xml 文件,即可獲得CRUD功能

public interface BaseMapper<T> {
    //插入一條記錄  參數:實體  返回:int
    Integer insert(T entity);
 
    //根據 ID 刪除  參數:主鍵ID  返回:int
    Integer deleteById(Serializable id);
    
     //根據 columnMap 條件,刪除記錄  參數:表字段 map 對象  返回:int
    Integer deleteByMap(@Param("cm") Map<String, Object> columnMap);
 
     //根據 entity 條件,刪除記錄  參數:實體對象封裝操作類(可以為 null)  返回:int
    Integer delete(@Param("ew") Wrapper<T> wrapper);
 
     //刪除(根據ID 批量刪除)  參數:主鍵ID列表  返回:int
    Integer deleteBatchIds(List<? extends Serializable> idList);
 
     //根據 ID 修改  參數:實體對象  返回:int
    Integer updateById(T entity);
 
     //根據 whereEntity 條件,更新記錄  參數:實體對象,實體對象封裝操作類(可以為 null) 返回:int
    Integer update(@Param("et") T entity, @Param("ew") Wrapper<T> wrapper);
 
     //根據 ID 查詢  參數:主鍵ID  返回:T
    T selectById(Serializable id);
 
     //查詢(根據ID 批量查詢)  參數:主鍵ID列表  返回:List<T>
    List<T> selectBatchIds(List<? extends Serializable> idList);
 
     //查詢(根據 columnMap 條件)  參數:表字段 map 對象  返回:List<T>
    List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);
 
     //根據 entity 條件,查詢一條記錄  參數:實體對象  返回:T
    T selectOne(@Param("ew") T entity);
     //根據 Wrapper 條件,查詢總記錄數  參數:實體對象  返回:int
    Integer selectCount(@Param("ew") Wrapper<T> wrapper);
 
     //根據 entity 條件,查詢全部記錄  參數:實體對象封裝操作類(可以為 null)  返回:List<T>
    List<T> selectList(@Param("ew") Wrapper<T> wrapper);
 
     //根據 Wrapper 條件,查詢全部記錄  參數:實體對象封裝操作類(可以為 null) 返回:List<T>
    List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> wrapper);
 
     //根據 Wrapper 條件,查詢全部記錄  參數:實體對象封裝操作類(可以為 null)  返回:List<Object>
    List<Object> selectObjs(@Param("ew") Wrapper<T> wrapper);
 
    /** 
     * 用法:(new RowBounds(offset, limit), ew);
     * 根據 entity 條件,查詢全部記錄(並翻頁)
     * @param rowBounds
     * 分頁查詢條件(可以為 RowBounds.DEFAULT)
     * @param wrapper
     * 實體對象封裝操作類(可以為 null)
     * @return List<T>
     */
     //根據 ID 刪除  參數:主鍵ID  返回:int
    List<T> selectPage(RowBounds rowBounds, @Param("ew") Wrapper<T> wrapper);
 
    /** -- 不常用,
     * 根據 Wrapper 條件,查詢全部記錄(並翻頁)
     * @param rowBounds
     * 分頁查詢條件(可以為 RowBounds.DEFAULT)
     * @param wrapper
     * 實體對象封裝操作類
     * @return List<Map<String, Object>>
     */
     //根據 ID 刪除  參數:主鍵ID  返回:int
    List<Map<String, Object>> selectMapsPage(RowBounds rowBounds, @Param("ew") Wrapper<T> wrapper);
}

用法舉例

接口:

public interface UserDao extends BaseMapper<User> {
    //這裡面不用做任何操作
}
//具體實現方法中:
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(User::getName,"zhangsan");
List<User> userList = UserDao.selectList(queryWrapper); //調用UserDao中的方法

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: