mybatis-plus定义一个公共的mapper和service
时间: 2024-09-18 09:07:47 浏览: 48
mybatis-plus源码(mybatis-plus-3.5.1.zip)
5星 · 资源好评率100%
MyBatis-Plus是一个基于MyBatis的简化超全局的ORM(Object-Relational Mapping)框架,它在MyBatis的基础上进行了增强,使得开发更便捷。如果你想定义一个公共的Mapper和Service,可以按照以下步骤操作:
1. **定义Mapper**:
首先,在项目目录下的`src/main/java`下创建一个Mapper接口文件,例如`com.example.common.mapper.BaseMapper.java`。这个接口将包含所有共有的基础查询方法,比如通用的CRUD操作:
```java
// BaseMapper.java
public interface BaseMapper<T> {
T selectOne(Object params); // 查询一条数据
List<T> selectList(Object params); // 查询列表
int insert(T record); // 插入数据
int update(T record); // 更新数据
int deleteById(Object id); // 删除指定ID的数据
}
```
2. **实现具体的Mapper**:
对于每个业务模块,你需要创建对应的实体类,并创建该实体类的Mapper子类去实现BaseMapper接口,添加业务相关的自定义方法。
3. **定义Service**:
Service层通常负责整合Mapper的操作,处理复杂的业务逻辑。你可以创建一个名为`BaseService.java`的服务类,继承自`com.baomidou.mybatisplus.extension.service.IService`,然后注入对应Mapper:
```java
// BaseService.java
@Service
public abstract class BaseService<T extends Entity, M extends Mapper<T>> implements IService<T> {
private final M baseMapper;
public BaseService(M baseMapper) {
this.baseMapper = baseMapper;
}
// 使用BaseMapper的方法,如通用的CRUD操作...
}
```
4. **使用Service**:
在实际业务模块中,创建对应实体类的Service实例,调用其提供的方法完成业务操作。每个模块可以根据需要重写或扩展BaseService的方法。
阅读全文