00:01
各位同学大家好,刚才的内容中呢,咱们完成了公众号根据课程的分类ID查询课程列表的接口,那下面呢,我们来完成下一个接口,根据课程ID查询课程详情接口,咱们在里边把这方法最终实现出来,那下面咱们来写下这个方法,首先我把步骤先写一下,然后咱们根据步骤完成里边的具体实现,首先第一步我们看一下啊,当我们现在呢,查看课程的详情之后,咱们看到在课程表里边的有个字段。各位看到这个字段叫we count,这字段什么意思呢?它表示浏览数量,所以咱们现在当我查看课程详情之后,让浏览数量值是不是要加一啊,表示你现在已经进行了课程查看,所以这是我们做的第一个事情,就是把这个count。
01:02
你的这个浏览的数量让它的值加一,也就是做一个更新操作,然后咱的第二部分,那就是根据课程ID来查询我们的数据,然后查到数据中,咱为了后面显示主要查这么几个数据,第一个课程的这个详情的数据,这肯定要查出来,然后第二部分课程里边这个分类的数据,就是课程的章节小节数据,这个方法咱之前写过一会儿,直接调就可以了。然后第三部分我们再查询课程的那个描述的信息。描述信息咱们到描述表里边进行查询,另外最后一部分咱再把这个课程所属的讲师的信息查出来,这是咱们要查出的这些数据。然后查出之后,最后把数据封装到一个map集合中,再完成返回,以上是咱们要完成的这么一个过程,那下面咱们把这个写一下,首先写第一步先把这个就是浏览数量做一个更新啊,浏览数量不是流量数量。
02:14
那咱们写下啊,第一步我们根据ID先把这个课程的对象先查出来。Base map里边的site ID传入课程ID,最后返回的是课程对象,然后向课程对象里边来设置它的浏览数量,浏览数量怎么设置?把之前的数量我们先得到。得到之后把值加一,加一之后,最后调用base map中的RZ、白D进行更新,这是咱的第一部分,我们快速完成,完成之后我们再写第二部分,查询课程详情,课程分类等内容,那咱们先查询课程详情,这个查怎么做呢?特别说明啊。
03:01
我这里边呢,给大家写好了一个view类,我写一下啊。VO,然后咱让他就反映这个VO的这个对象,这VO类咱们看一下,里边有咱们要显示的各种数据都存在,所以咱们一会儿我们写个方法让查询就返回这个cos view对象。一会儿咱们通过一个编写circle语句,把这个进行实现,那我写个方法,这个方法我就叫select Co view。ID。里边传入课程ID,这是咱们写的方法,这些方法一会咱在map中创建,然后编写C语实现,我先放到这里,然后下面呢再查询课程的分类,课程分类咱们看一下啊,我在这里边把这个character service也进来了,咱们调一下之前咱们曾经写的那个列表的方法做一个查询。
04:06
那我们来调一下啊。Service里边有个方法,这个方法叫get list,大家看啊,之前写到的封装课程里边的章节和小节数据,根据课程ID得到,咱们传入扣赛D,最后返回的是一个历次集合,历次集合我给它起个名字,我就叫这个view。List的,这是咱的第二个数据课程里边的章节小节数据啊,章节小节不是分类啊章节。小结的这个数据。这个我们就完成了查询,然后这个之后我们看下一个咱们来查询描述的这个数据描述调用这个description里边的方法,根据ID我们做一个查询,传入课程ID,因为它跟课程表是一对一的关系,所以咱们直接就过查询,最后反应里边这个叫cos。
05:08
这个完成,最后查询所属的讲师信息,我们调用teacher service里的方法,根据ID,我们用cos里边的这个。Get ID查出讲师的这个信息,最终返回teacher对象。因为cos咱们看啊,上面这行代码,咱们把这cos对象也查出来了,里边有讲是ID,最后我们来完成这么一个查询,所以以上是咱们得到这些数据,得到数据之后,最后咱们把数据封装到一个map即刻中去,那我来做个封装,我们new一个哈希map。Map中的泛型加上string加上object,向map中放入它的这个值,这个过程我从课件中就直接复制下。
06:04
我把这段代码拿过来,咱们看一下啊,第一个查出的课程基本信息,第二个章节小结,第三个描述,包括讲师,包括里边还有一个叫是否购买,咱们先做个测试,我先写个force,后面我们再做一个完善。然后在里边呢,大家看这一段代码,我做了一个简单的判断。各位看啊,这个代码什么意思?比如说我现在课程里边是不可能没有描述,所以做了判断,如果描述对象它不等于空,咱就取到这个描述这个信息,如果等于空,那咱就反映这个值是空。这个做了一个判断,然后这些完成之后,最后咱们把map集合做个退就可以了。以上是完成service里边的根据课程ID查询课程详情这个功能。然后完成之后,下面呢,咱们在里边把这方法创建出来。
07:05
我来做个创建。根据课程ID查询课程详情,跟之前咱们写那个发布那个类似,只是里边的查询的字段比之前要多一点,然后写完之后呢,下面怎么做,各位同学应该知道啊,大家想一下下面干什么?咱们map里边完成了方法定义,那下面咱们在它的叉L文件中是不是要最终写它的SQL语句,然后把这功能我们最终实现出来,所以咱们最后在这个map的插文件中来编写S语句。那我来写一下啊。我来到这位置。把这个注释给它加上啊,然后在里边我们来写一下这个语句,那我写到上边啊,首先先加一个注释。这个注释根据课程ID查询课程详情,然后在里边加上一个select标签,Select里边的ID属性加上你的方法的名字,咱们方法叫这个名字,后面加上一个叫result type,加上返回结果那个包类路径。
08:19
咱们找到这个路径啊,注意别复制错啊,你复制的时候呢,别再多复制一个分号,这就不对了,这个注意啊。然后在里边我们来写一下它这个circle语句,这个语句呢跟之前的语句很类似,那咱们来做个实现啊。首先这个语句呢,为了明确啊,我把语句呢写到这里边,咱们做一个查询。那我来写一下啊,首先加上一个叫。Light。Select的后面加上它那些字段,这个字段部分我从课件中复制一下,应该就是这些。呃,这些字段啊,咱们直接拿过来select加上这些字段,就这些啊,后面加上from咱的表,表里边呢,涉及到你里边这个就是课程表描述表,包括章节这个小节,这些表都涉及到,而这个查的过程跟之前咱们的这个地方应该是一样的。
09:21
就这些啊,所以把这个拿过来里边啊是分类啊,分类部分,那么把这个拿过来,加上这个。部分。我们看到啊。就是在这里,哎,我重新复制一下啊。我们找到啊,From在这里,然后from后面加上里边的表是咱们就是里边的这些啊,这个表啊,没复制全啊,咱看一下应该表里边有这个啊这部分。这个拿过来,呃,没复制全重新复制一下啊。
10:01
这些。然后这些之后你看啊,我们用这个课程表左外连接讲师表,包括左连接里边的其他表,把这个都给他查到,然后查到之后最后我们有一个条件,那就是根据课程ID做个查询,咱们加上一个wherec,点这个就是ID。等于我们那个课程ID,以上是咱们编写的一个最基本的circle语句,咱们用它做个实验就可以了啊,包括比如这个语句前面部分我们先做个查询。咱们看啊,这个可以正常执行,所以咱们现在就来这些语句,那语句写的时候呢,里边有个地方啊,是各位在买杯子阶段学过的,大家注意啊,我这段语句和咱们之前的语中,你发现from这个地方是不是都一样啊,所以咱可以把相同的语句是不是可以做一个抽取,在买币的这个配置文件中有个标签叫circle考标签可以抽取相同的部分,那咱们一会儿做个抽取啊,现在我先把这个结构写出来。
11:12
首先啊,把这部分咱们放到我这个标签里边来,就这部分。加上你的表中的各个字段,这是第一部分,后面加上from,但是from部分这个部分还有下一部都是一样的,所以咱们加上一个标签做个抽取,那我来写一下啊,这个标签。这个标签各位要记住啊,它叫做circle标签。抽取circle里边呢,我这个位置加上一个ID,给它起一个名字。呃,多了一个引号啊,ID,然后这个ID呢,我起个名字,我们就叫这个tables,因为是表的部分。然后tables里边把刚才我们写的这部分给它拿过来,就是相的部分给它复制过来,咱就复制这部分。
12:04
Cos表左外连接讲师表左外连接那个分类表包括一级和二级分类,这部分咱们给他拿过来,然后拿回来之后,这是我们抽取这一部分,抽取之后在上面咱们可以进行使用,那怎么使用,给各位来说一下啊,这个使用方式咱们在赖的标签中加上这么一个就是。标签进行使用,我写一下啊,我先加上一个。后面加上一个标签。啊,这个标签名字它叫做in re ID在refid中表示引用哪个circle,这个ID叫tables,把这个拿过来,他就表示在from后面加上这段内容是咱们做了一个抽取。然后最后有一个where条件,我给它直接加上啊,Where条件应该就是这个。
13:04
把这个拿过来。所以咱们现在就把这个语句部分就完成了,就是刚才写的根据课程ID,然后查询课程的讲究信息,包括下面部分,咱们也可以做抽取,就这部分也给他抽取一下啊。我们加上from。然后后面引入这个表的部分。所以现在啊,这个基本结构就完成了,这时候我们完成的map部分,各位把这语句能写出来,特别是刚才写的这部分,咱们把相同部分做个抽取,用circle标签进行抽取,然后里边用inlo加refid,我们最终进行实现。以上就是咱们完成的第二个接口,根据课程ID查询课程详情部分,咱们也通过了编写语句实现了这个功能。所以咱们到这里啊,就是把我们这个公众号点播里边的课程的列表,包括课程详情的接口,我们就最终完成了。
我来说两句