public List<CourseCategoryDTO> queryTreeNodes() { // 如何在mp对service封装中来获得mapper自定义的方法 // mp中的service层封装里有个方法可以获得mapper的代理对象:getBaseMapper // pojo转dto CourseCategoryConvert.INSTANCE.nodes2dtos(courseCategoryNodes) return null; }补全代码
时间: 2024-03-06 18:47:56 浏览: 62
完整的代码如下:
```
@Service
public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper, CourseCategory> implements CourseCategoryService {
@Override
public List<CourseCategoryDTO> queryTreeNodes() {
List<CourseCategoryNode> courseCategoryNodes = this.baseMapper.selectCourseCategoryNodes();
return CourseCategoryConvert.INSTANCE.nodes2dtos(courseCategoryNodes);
}
}
```
其中,`this.baseMapper` 就是获取到的 `mapper` 代理对象,`CourseCategoryConvert.INSTANCE.nodes2dtos(courseCategoryNodes)` 是使用 MapStruct 进行 pojo 转 dto 的操作。
相关问题
public List<CourseCategoryDTO> queryTreeNodes() { // 如何在mp对service封装中来获得mapper自定义的方法 // mp中的service层封装里有个方法可以获得mapper的代理对象:getBaseMapper // pojo转dto CourseCategoryConvert.INSTANCE.nodes2dtos(courseCategoryNodes)
在MyBatis-Plus对service的封装中,可以通过继承BaseService类来获取Mapper的代理对象。具体来说,如下所示:
```
@Service
public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper, CourseCategory> implements CourseCategoryService {
@Autowired
private CourseCategoryMapper courseCategoryMapper;
@Override
public List<CourseCategoryDTO> queryTreeNodes() {
// 通过getBaseMapper方法获取Mapper的代理对象
List<CourseCategoryNode> courseCategoryNodes = courseCategoryMapper.selectNodes();
// pojo转dto
return CourseCategoryConvert.INSTANCE.nodes2dtos(courseCategoryNodes);
}
}
```
其中,`CourseCategoryMapper`是自定义的Mapper接口,继承了MyBatis-Plus提供的`BaseMapper`接口。`CourseCategoryServiceImpl`是自定义的Service实现类,继承了MyBatis-Plus提供的`ServiceImpl`类,并实现了自定义的`CourseCategoryService`接口。在`CourseCategoryServiceImpl`中,可以通过调用`getBaseMapper`方法来获取`CourseCategoryMapper`的代理对象,从而调用自定义的Mapper方法。
阅读全文