1 简介
今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于协同过滤的考研推荐系统。
计算机毕业生设计,课程设计需要帮助的可以找我
2 设计概要
21世纪是信息化时代,随着信息技术和网络技术的发展,信息化已经渗透到人们日常生活的各个方面,人们可以随时随地浏览到海量信息,但是这些大量信息千差万别,需要费事费力的筛选、甄别自己喜欢或者感兴趣的数据。对网络电影服务来说,需要用到优秀的协同过滤推荐功能去辅助整个系统。
本系统基于java技术,使用UML建模,采用springboot框架组合进行设计,Mysql数据库存储数据。本系统的功能主要包括:用户注册、登录、信息维护、搜索院校、院校详情、考研分数线,考研院校推荐,协同过滤个性化推荐以及管理员进行信息管理等。
3 系统关键技术
使用springboot,vue,mysql, mybaties, typescript, html ,css, js,协同过滤算法 等进行开发
4 开发工具
开发工具主要有:idea、jdk1.8、maven、mysql5.7、Navicat等。
5 代码展示
@RestController
@RequestMapping("question")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class QuestionController {
private final QuestionMapper questionMapper;
@GetMapping("/{id}")
public QuestionBean get(@PathVariable long id) {
var entity = questionMapper.selectById(id);
return BeanUtil.to(entity, new QuestionBean());
}
@GetMapping("/list")
public List<QuestionBean> getList(QuestionBean query) {
var list = questionMapper.selectList(
Wrappers.<QuestionEntity>lambdaQuery()
.eq(
query.getQuestionGroupId() != null,
QuestionEntity::getQuestionGroupId,
query.getQuestionGroupId()
)
.like(
StrUtil.isNotBlank(query.getQuestionTitle()),
QuestionEntity::getQuestionTitle,
query.getQuestionTitle()
)
);
List<QuestionBean> beanList = new ArrayList<>();
for (QuestionEntity entity : list) {
var bean = BeanUtil.to(entity, new QuestionBean());
if (entity.getRightAnswer() == null) {
bean.setRightAnswer(Collections.emptyList());
}
if (entity.getErrorAnswer() == null) {
bean.setErrorAnswer(Collections.emptyList());
}
Map<String, Boolean> answer = new LinkedHashMap<>();
for (String right : bean.getRightAnswer()) {
answer.put(right, true);
}
for (String right : bean.getErrorAnswer()) {
answer.put(right, false);
}
List<String> keys = new ArrayList<>(answer.keySet());
Collections.shuffle(keys);
Map<String, Boolean> newAnswer = new LinkedHashMap<>();
for (String key : keys) {
newAnswer.put(key, answer.get(key));
}
bean.setAnswer(newAnswer);
beanList.add(bean);
}
return beanList;
}
6 系统功能描述
项目功能演示
7 最后
计算机毕业生设计,课程设计需要帮助的可以找我