发布时间:2024-08-03 16:01
本项目是为北京大学Moodle线上授课平台增加课程推荐模块,实现注册登录页面,视频播放页面和课程视频推荐。
前端采用VUE框架。
后端采用SpringBoot + Mybatis + Maven + MySQL。
算法采用了Apriori和BPR推荐算法。Apriori算法是根据视频在同一个学生的记录中出现的概率排序来进行推荐的。
Controller层负责业务逻辑,Service负责实际服务,DAO层与数据库交互,Entity层传输数据库表的实体。
Controller是管理业务(Service)调度和管理跳转的。
*Service是管理具体的功能的。
Controller只负责管理,而Service负责实施。
DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删查改如何去实现一个功能,dao是不管的。
总结这三者,通过例子来解释:
Controller像是服务员,顾客点什么菜,菜上给几号桌,都是ta的职责;
Service是厨师,action送来的菜单上的菜全是ta做的;
Dao是厨房的小工,和原材料打交道的事情全是ta管。
相互关系是,小工(dao)的工作是要满足厨师(service)的要求,厨师要满足服务员(controller)转达的客户(view)的要求,服务员自然就是为客户服务喽。
现在最基本的分层方式,结合了SSH架构。Entity层就是对应的数据库表的实体类。Dao层是使用了Hibernate连接数据库、操作数据库(增删改查)。Service层:引用对应的Dao数据库操作。Controller层:引用对应的Service层,结合SpringMVC注释,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。*
https://www.cnblogs.com/cielosun/articles/5752272.html