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。
推薦閱讀:
- mybatis-plus中BaseMapper入門使用
- Mybatis-Plus 通用CRUD的詳細操作
- Java mybatis-plus詳解
- mybatis-plus 查詢傳入參數Map,返回List<Map>方式
- MyBatisPlus利用Service實現獲取數據列表