|
|
|
@ -4,14 +4,23 @@ import java.util.List;
|
|
|
|
|
|
|
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
|
|
import org.apache.ibatis.annotations.Select;
|
|
|
|
|
|
|
|
|
|
// 引入MyBatis-Plus的分页插件相关的Page类,用于实现分页查询功能,指定该分页操作针对的是CrawlerPaperEntity实体类型的数据。
|
|
|
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
|
|
|
import com.tamguo.config.dao.SuperMapper;
|
|
|
|
|
// 引入代表爬虫获取的试卷(CrawlerPaper)相关的实体类CrawlerPaperEntity,表明这个Mapper接口主要用于操作数据库中与通过爬虫获取的试卷数据对应的表。
|
|
|
|
|
import com.tamguo.model.CrawlerPaperEntity;
|
|
|
|
|
|
|
|
|
|
public interface CrawlerPaperMapper extends SuperMapper<CrawlerPaperEntity>{
|
|
|
|
|
// CrawlerPaperMapper接口继承自SuperMapper<CrawlerPaperEntity>,SuperMapper是通用的Mapper父接口,提供了一些通用的数据库操作方法和规范,这里在此基础上扩展针对爬虫试卷实体的特定操作方法。
|
|
|
|
|
public interface CrawlerPaperMapper extends SuperMapper<CrawlerPaperEntity> {
|
|
|
|
|
|
|
|
|
|
// 使用MyBatis的@Select注解来定义一个SQL查询语句,该语句将直接映射到对应的数据库查询操作,用于获取满足特定条件的CrawlerPaperEntity实体列表数据,实现分页查询功能。
|
|
|
|
|
// SQL语句的逻辑是:从名为"crawler_paper"的表(对应CrawlerPaperEntity实体的数据表)中选择所有记录(用"c.*"表示选择所有列),
|
|
|
|
|
// 筛选条件是该表中的"paper_id"字段的值存在于子查询的结果集中,子查询是从名为"tiku_paper"的表中选择"id"字段,筛选条件为"area_id"字段等于传入的参数#{areaId}所代表的值。
|
|
|
|
|
// 最后按照"id"和"queindex"字段升序排序("order by id,queindex asc"),以此来获取按照特定顺序且符合区域条件的试卷数据。
|
|
|
|
|
@Select("SELECT c.* FROM crawler_paper c WHERE c.paper_id IN (SELECT p.id FROM tiku_paper p WHERE p.area_id = #{areaId}) order by id,queindex asc;")
|
|
|
|
|
List<CrawlerPaperEntity> selectPageByAreaId(Page<CrawlerPaperEntity> questionPage,@Param(value="areaId") String areaId);
|
|
|
|
|
// 定义一个方法selectPageByAreaId,用于执行上述SQL语句所定义的分页查询操作,返回一个包含CrawlerPaperEntity实体的列表。
|
|
|
|
|
// 该方法接收两个参数,一个是Page<CrawlerPaperEntity>类型的questionPage,表示分页相关的信息(如页码、每页记录数等),用于实现分页功能;
|
|
|
|
|
// 另一个是通过@Param注解命名为"areaId"的字符串类型参数,用于在SQL语句中作为条件进行数据筛选,代表区域的唯一标识(具体含义取决于业务逻辑)。
|
|
|
|
|
List<CrawlerPaperEntity> selectPageByAreaId(Page<CrawlerPaperEntity> questionPage, @Param(value="areaId") String areaId);
|
|
|
|
|
|
|
|
|
|
}
|