extends BaseMapper是干什么的
时间: 2024-12-27 17:27:36 浏览: 3
### MyBatis Plus `extends BaseMapper` 的功能与使用
#### 1. 基础概念
MyBatis-Plus 提供了一个名为 `BaseMapper` 的接口,该接口封装了一系列常用的 CRUD 方法,极大地简化了数据访问层的开发工作[^1]。通过继承这个接口,开发者能够获得一系列预定义的方法来执行基本的数据操作。
#### 2. 继承 `BaseMapper` 接口的作用
当实体类对应的 Mapper 类继承自 `BaseMapper<T>` (其中 T 是实体对象类型) 后,自动获得了多种基础性的增删改查能力,无需再手动编写 SQL 映射文件或 XML 配置即可完成大部分常规的操作需求[^2]。
#### 3. 实现方式
为了使某个 DAO 层接口具备这些默认行为,只需让其扩展 `BaseMapper` 并指定泛型参数为相应的实体类:
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 自定义SQL语句可以在这里声明
}
```
上述代码片段展示了如何创建一个简单的用户映射器 `UserMapper`,它不仅实现了来自 `BaseMapper` 的所有标准方法,还可以在此基础上添加额外的查询逻辑。
#### 4. 可用的基础方法列表
除了最基本的保存、修改、移除等功能外,`BaseMapper` 还提供了一些更高级别的批量处理函数,比如按条件删除多条记录等[^4]:
| 方法名 | 描述 |
| --- | --- |
| `int insert(T entity)` | 新增一条记录 |
| `int updateById(T entity)` | 更新单个实体(基于主键匹配)|
| `int deleteById(Serializable id)` | 根据ID删除单个实体 |
| `int deleteBatchIds(Collection<? extends Serializable> idList)` | 批量删除多个实体 |
以上表格列出了部分常用 API ,实际应用中可根据项目具体情况选用合适的方式来进行持久化管理。
阅读全文