开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):首页数据显示-热门课程和名师接口】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11431
首页数据显示-热门课程和名师接口
热门课程:
根据实际项目的需求,就比如课程的浏览数量做排序,把排到前八的热门课程显示就可以了,页面中有8个热门课程,也就是根据浏览数量把这8个排出来,这是第一种方式,还可以根据id排序,也可以根据时间排序,都可以得到热门课程,但是做法都是排序。
#根据 id 进行降序排列,显示排列之后前8条记录,首先进行查数据
SELBCT *PROM edu-course ORDER BY id 写到这里是升序排列,但是现在需要降序排列,就在后边添加 DESC,加上LIMIT8就是显示前八条记录。
目前做降序就是把所有数据都做降序,而现在是要查降序之后的前八条记录,LIMIT后加8就可以把降序前八条都做出来,就是这样做到的,现在来看一下讲师,把讲师也按 id 排序,语句和前边的是一样的。
#查询讲师 根据 id 排序,显示前4条记录
SELBCT *PROM edu-course ORDER BY id LIMIT 4
根据id排序得到前四条记录,幻灯片也是这样做,可能里面幻灯片有几百张,可以根据时间,id决定放前几张 ,查询前几张就用 LIMIT+显示的数字即可。
现在需要改一下接口
@Service
publicclass GrmBannerServiceImpl extends Servicelmpl (CrmBanner),CrmBanner)implements CrmBannerService
//查询所有 banner
@Override
public List<CrmBanner) selectAllBanner (){
//根据 id 进行降序排列,显示排列之后前两条记录:
QueryWrapper <CrmBanner)>wrapper=new QueryWrapper <>();
wrapper. orderByDesc (
…columns:"id"),);
//last 方法,拼接 sql 语句
List<CrmBanner) list=base Mapper, select List(wrapper:null):
return list
}
比如根据 id 进行降序排序,显示排序后的两条记录,这里不能有 LIMIT 操作,可以加 last 方法
找到条件构造器
Last方法:
直接拼接到 spl 的最后
注意:
只能调用一次多次调用以最后一次为准有 sql 注入的风险清谨慎使用
//根据 id 进行降序排列,显示排列之后部两条记录
QueryWrapper <CraBanner>wrapper=new QueryWrapper <>()。
wrapper, orderByDesc (
灬columns:"id");
//last方法,拼接 sql 语句
wrapper, last(last Sq):"limit 2");
List<CrmBanner) list=base&apper, selectlist (wrapper null),
return list:
}
}
现在写讲师的4条记录和课程的8条记录就简单了很多,写这个就是前台的课程和前台的讲师,也就是前台首页面的显示内容
import com actguiguecommomutils .R:
import org, springframework ,web,bind, annotation ,Get Mapping;
Import org, springframework , web. bind, annotation , RequestMapping ;
import org, springframework , web. bind, annotation , RestController ;
@ RestController
@RequestMapping (
”/education/index/ indexfront ")
public class IndexFrontController (
@Autowired
private EduCourseServicecourseService ;
@Autowired
private EduTeacherServiceteacherService ;
//查询前8条热门调程,查询前4条名师@ GetMapping (“ˈindex”)
public R index(){
//查询前8条热门课程
QueryWrapper <CraBanner>wrapper=new QueryWrapper <>()
。
wrapper, orderByDesc (
灬columns:"id");
wrapper, last(last Sql:"limit8
)
List{EduCourse)edulist= courseService . list(wrapper)
。
return R ok()
//查询前4条名师
Query Wrapper< EduTeacher ) wrapperTeacher =new Query&rapper<>()
wrapper- orderByDese (_ columns:"id"):);
wrapper. last(lastSql):"limit 4");
List<EduCourse) education: EcureService . list(wrapper)
}
}
最终的结果做一个返回,这个接口就完成了。