00:00
就是下面啊做这个课程详情,那课程详情跟讲师详情一样,每次点的话需要在路径中把课程ID需要传递,那咱把这个超链接先修改一下,让它传入这个课程ID。那大家来找一下啊。找到我的页面,就是在我这个超链接位置,找到超链接应该就是。这个地方,那咱们给他加上我们的课程ID,我来加一下啊,加个冒号。这里边我们加上一个引号,然后在这个位置我们来一个加号叫item.id这表示得到你便利之后,那个课程ID啊,就加个超链接,然后加上之后把下面这位置也改一下,因为咱要实现你点名称,点图片都做跳转。这个啊,我们就改出来了,改完之后咱们把效果试一下啊。我先回来课程列表,比如现在点击某一个课程。
01:01
我发现啊,好像不对啊,那咱看一下是不是哪里写的不对啊,第一个我页面应该保存了,那我把这页面咱给它完整刷新一下啊,应该是缓存等等问题啊刷新。CR股重新刷新,刷新之后,现在比如说我再去点某个课程。是不是就对了啊,这应该没有错了,比如说我再点一个。就可以了啊。这样的话,咱把这个超链接做了修改,每次都是不同的ID值。就这些值啊,然后这个改完之后呢,咱下面肯定要根据ID多查询,那这查询首先咱们还是几个接口,然后写完接口之后再做这个操作啊,那我来写一下这个接口啊。来实现一下啊。我在图上画一下啊。课程详情的接口,那接口怎么做?咱来看一下啊,首先在我的详页面中,它你可以理解为它分成两部分,第一部分是咱们的课程基本信息,比如说我们要实现查询课程这个分类,就一级二级分类,查询课程的封面名称、价格,然后查询它对应的讲师数据,查询它对应的这个课程的描述数据,咱要查这些数据,而这些数要查的话,咱就查课程表,肯定查不出来,因为讲师在讲师表中,描述在描述表,分类又在分类表,它涉及到会有多张表的查询,所以咱们现在按照咱们之前学过的方式,我们还是需要写个SQ语句,把这做到,比如我之前提到的啊。
02:34
当我们项目中啊,有一些就是多表的查询,咱一般还是建议用这种思语句方式给它写出来,然后查出来,所以咱们的第一部分编写语句。我要写到这个位置啊,第一个咱就编写一个SQ语句,根据课程ID查询出课程的信息,这些信息中会包含咱们刚才看到的,比如说课程的。
03:00
基本信息。然后包含这个课程的分类,还包含课程那个描述,以及包含这个就是课程所属的讲师。这些咱抄出来,所以把这些数据咱就是编写最后语句做到啊,这是咱一会儿做到第一部分,然后除了这个之外,在我们这个详情中还有一部分,就这部分有课程的大纲,大纲中包含章节小节,所以第二部分呢,咱会再写个方法,根据课程ID查询他的这个。章节和小节部分,但是这个方法咱之前应该是写过的,因为咱直接调一下就可以了,当时咱做那个章节小结,一个列表显示应该写过这么一个接口。所以咱们啊,现在就这么来做,用这种方式把这个接口开发出来。咱们做了一个分析啊,然后下面咱可以写一下啊,就是现在我来到我这个接口中找到咱那个课程。
04:00
就是Co front这个controller在里边,第一个方法,条件查询带分页,然后咱们看第二个方法。课程的。详情的这么一个方法,那方法我们写一下啊,我就来一个。Get提交,在里边起个名字,比如叫这个get front。Info。查询课程的详情信息,在里边传入一个课程的ID。根据ID查询,然后传完之后下面写方法public r,比如说方法我还是叫这个名字。啊,就是他。就是一个方法,在方法里边,咱们把这个课程ID给它得到,因为它是通过路径传值,所以咱们还是用这个写法啊,跟之前都一模一样啊,把这个拿过来给它快速改一下。加个词缀类型,加一个叫cosd啊,这个得到得到之后,下面咱就调service中的方法,把这数据给它就最终查出来,那我们调一下啊,首先第一个方法。
05:06
我这么来写啊,第一个就是根据课程ID,咱们一会儿来编写个SQ语句,查询出课程那个信息啊,一会咱编语句来写,那里边我写个方法,比如叫get这个啊,就是基本信息嘛,叫base。Co info里边传入一个课程的这么一个ID啊,这是第一个方法,然后除了它之外还有第二个方法,根据课程ID查询它里面那个就是章节和小节部分,把这做到,但是这个咱之前是写过的,那咱可以找一下啊。当时咱们写过那个方法。根据课程ID查它那个章节和小节,我就找这个S里边了啊,章节小节应该是在这里边啊,看看里边有没有啊。找到方法。各位看到。是不是就是这个根据课程ID把它的章节小节查出来,然后查出来之后最终做出封装,所以咱现在调的就是这个方法,用它的实现啊,那咱能调到它,把这个我们先给它注入进来,然后做个调用。
06:13
那我来做一个注入啊,这一方法咱一块写啊,写到最后语句。我来注入第二个。然后加个private。Edu service。然后叫这个character service,把它先注进来,然后注之后咱就直接调用里边这个方法,就是咱们刚才看到的这个方法。应该是它get character video by cosd里边传入咱们得到的课程ID,最终它会返回一个list史集合,这list集合中就有咱们课程里边的所有章节和小节啊,里边有这个对应的值。给它起个名字,所以这样的话,咱们把这两方法处做到了,而第一个方法呢,大家注意,因为他在长形中要返回的是咱们。
07:02
这些数据,而这些数据呢,咱一会儿给他也建个这个实体类,用于它封装,然后把这个最后返回这单位,比如做到啊,所以现在咱写了一个基本结构。然后再重复一遍啊,下一课咱完善在结构中,咱们是根据课程ID先查课程的基本信息,就是上面部分先查出来,而上面部分一会咱们写so语实现,另外就是下面这个章节小结,因为这方法咱写过了,刚才我直接做了一个调用,调咱之前写过的方法,根据课程ID把章节小节的集合查出来,然后最后把这两个数据给它返回在页面中显示就可以了,所以咱们一会来实现啊,所以咱们先把这个先给它弄一个基本结构。
我来说两句