如何在MyBatis Plus中启用全局通用Mapper和全局通用Service?
时间: 2024-09-18 19:01:36 浏览: 80
在MyBatis Plus中启用全局通用Mapper和全局通用Service非常简单,只需要在配置类(比如`BaseGlobalConfiguration`)中做一些设置即可。以下是一般的做法:
1. **全局通用Mapper**:
- 创建一个名为`BaseMapperPlus`的抽象基类,继承自`com.baomidou.mybatisplus.extension.plugins全球通用Mapper`。在其中定义一些基本的操作方法,比如保存(save)、更新(update)和删除(delete)。
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.globalMapper.GlobalMapper;
public interface BaseMapperPlus<T extends Model> extends GlobalMapper<T>, BaseMapper<T> {
}
```
2. **全局通用Service**:
- 同样地,创建一个名为`BaseServicePlus`的抽象基类,继承自`com.baomidou.mybatisplus.extension.service.IModelService`,并在其中定义业务逻辑。
```java
import com.baomidou.mybatisplus.extension.service.IModelService;
import org.springframework.stereotype.Service;
@Service
public interface BaseServicePlus<T extends Model> extends IModelService<T> {
}
```
3. **启用全局配置**:
- 在Spring Boot的配置类中,初始化`GlobalConfig`对象,将你的`BaseMapperPlus`和`BaseServicePlus`作为全局通用Mapper和服务注册。
```java
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.globalConfig.GlobalConfig;
@Configuration
public class MybatisPlusConfig {
@Autowired
private GlobalMapperScanner globalMapperScanner;
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
@PostConstruct
public void init() {
GlobalConfig config = new GlobalConfig();
config.setBaseMapper(BaseMapperPlus.class);
config.setBaseService(BaseServicePlus.class);
// 注册全局通用Mapper和Service
globalMapperScanner.scan("com.example.demo.mapper", config);
}
}
```
这样就完成了全局通用Mapper和Service的启用。现在所有继承自`BaseMapperPlus`和`BaseServicePlus`的Mapper和服务都可以享受到MyBatis Plus的便利功能了。
阅读全文