You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Onlineeducation/src/main/java/com/service/impl/NewsServiceImpl.java

92 lines
3.6 KiB

// 声明该类所在的包为 com.service.impl
package com.service.impl;
// 导入 Spring 框架的 Service 注解,用于将该类标记为服务层组件
import org.springframework.stereotype.Service;
// 导入 Java 的 Map 接口,用于处理键值对数据
import java.util.Map;
// 导入 Java 的 List 接口,用于处理列表数据
import java.util.List;
// 导入 MyBatis-Plus 的 Wrapper 接口,用于封装查询条件
import com.baomidou.mybatisplus.mapper.Wrapper;
// 导入 MyBatis-Plus 的 EntityWrapper 类,用于构建查询条件
import com.baomidou.mybatisplus.mapper.EntityWrapper;
// 导入 MyBatis-Plus 的 Page 类,用于实现分页查询
import com.baomidou.mybatisplus.plugins.Page;
// 导入 MyBatis-Plus 的 ServiceImpl 类,作为服务实现类的基类
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
// 导入自定义的分页工具类
import com.utils.PageUtils;
// 导入自定义的查询工具类
import com.utils.Query;
// 导入新闻数据访问对象
import com.dao.NewsDao;
// 导入新闻实体类
import com.entity.NewsEntity;
// 导入新闻服务接口
import com.service.NewsService;
// 导入新闻值对象类
import com.entity.vo.NewsVO;
// 导入新闻视图类
import com.entity.view.NewsView;
// 使用 @Service 注解将该类标记为 Spring 服务,服务名为 newsService
@Service("newsService")
// 定义新闻服务实现类,继承自 ServiceImpl 并实现 NewsService 接口
public class NewsServiceImpl extends ServiceImpl<NewsDao, NewsEntity> implements NewsService {
// 重写 queryPage 方法,根据传入的参数查询新闻实体的分页数据
@Override
public PageUtils queryPage(Map<String, Object> params) {
// 创建一个分页对象,根据传入的参数生成
Page<NewsEntity> page = this.selectPage(
new Query<NewsEntity>(params).getPage(),
// 创建一个空的查询条件包装器
new EntityWrapper<NewsEntity>()
);
// 返回分页工具类对象,封装分页信息
return new PageUtils(page);
}
// 重写 queryPage 方法,根据传入的参数和查询条件查询新闻视图的分页数据
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<NewsEntity> wrapper) {
// 创建一个分页对象,根据传入的参数生成,用于存储新闻视图数据
Page<NewsView> page = new Query<NewsView>(params).getPage();
// 调用基础映射器的 selectListView 方法,根据分页和查询条件获取新闻视图列表,并设置到分页对象中
page.setRecords(baseMapper.selectListView(page, wrapper));
// 返回分页工具类对象,封装分页信息
PageUtils pageUtil = new PageUtils(page);
return pageUtil;
}
// 重写 selectListVO 方法,根据查询条件查询新闻值对象列表
@Override
public List<NewsVO> selectListVO(Wrapper<NewsEntity> wrapper) {
// 调用基础映射器的 selectListVO 方法进行查询
return baseMapper.selectListVO(wrapper);
}
// 重写 selectVO 方法,根据查询条件查询单个新闻值对象
@Override
public NewsVO selectVO(Wrapper<NewsEntity> wrapper) {
// 调用基础映射器的 selectVO 方法进行查询
return baseMapper.selectVO(wrapper);
}
// 重写 selectListView 方法,根据查询条件查询新闻视图列表
@Override
public List<NewsView> selectListView(Wrapper<NewsEntity> wrapper) {
// 调用基础映射器的 selectListView 方法进行查询
return baseMapper.selectListView(wrapper);
}
// 重写 selectView 方法,根据查询条件查询单个新闻视图
@Override
public NewsView selectView(Wrapper<NewsEntity> wrapper) {
// 调用基础映射器的 selectView 方法进行查询
return baseMapper.selectView(wrapper);
}
}