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.
92 lines
3.6 KiB
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);
|
|
}
|
|
} |