00:01
各位同学大家好,欢迎继续收看硅谷课堂项目视频课程,刚才呢,我们把项目的后端的工程环境已经完成搭建,那下面呢,咱就开始开发我们项目中的第一个功能模块的接口,讲师管理的接口。那讲师管理首先我们先介绍一下这个功能的需求,其实这个需求很简单,比如说我们在添加课程的时候,咱这里边是不是要选择讲师啊,我要知道这个课是由哪个讲师所讲的,所以我们在这个平台对我们的讲师要进行管理,其实也就是基于这个讲师的一个增删改查操作,所以咱下面就开始写我们这个讲师管理的这个接口。这里强调啊,其实讲师管理这个模块功能很简单,就是实现一个讲师的自然改善操作,通过这个模块主要想给大家演示一下怎么实现前后端分离开发过程,接口怎么写,前端怎么调用,让各位同学通过这个模块深入理解什么叫前后端分离开发。所以下面咱就开始先开发这个模块的接口。
01:13
那接口怎么做,我在里边写一下啊,就是对照我们里边的第三步。小,这里第三步怎么做呢?咱们就是使用MP中一个东西叫做代码生成器,把咱们讲师相关的代码给它生成出来。什么叫新闻代码?比如说讲师,我们写个模块,是不是有它的controller,有service,有map,是不是还有实体类,所以咱们把这些相关代码给它都要生出来,这过程中不需要我们手动去创建,咱们用代码生成器直接做就可以了,那怎么做给各位演示一下啊?首先第一步在项目中呢,我们先引入代码生成器这个依赖,这个依赖我就直接放到咱的vod模块中,因为这里边我们要用到。
02:09
在里边直接放下,或者说你也可以放到system模块,我就直接放到vod中。在里边加个dependence,把依赖咱给他复制进来,第一次复制它需要联网下载,各位同学需要多等一会儿,我这位置是下载过了,所以马上下载出来,然后这个做完之后,下面呢,咱们用一下代码生器,在MP的官网给我们提供出来个代码生气的代码,这个代码给各位我已经复制出来了,在我资料中的第二个代码生成器里边就是一个类。那这个类咱直接复制过来。大家注意啊,因为代码生成器呢,只是一个工具,咱最终项目中肯定不需要这个东西,它只为了提高咱的开发效率这么一个工具而已,所以咱们最终项目打包肯定不需要这个工具。咱为了。
03:03
使用方便,就把它放到我们的T中,因为T这里边的那种最终打包里边没有这个东西,那我在里边我来建个包,我就叫com点。At硅谷把这个类咱就直接复制过来,只要你的依赖引入,对代码生成器就能直接使用,这个咱就复制了。然后复制之后在里边咱给他看一下啊,这个该怎么去用,首先这个结构是固定的,是由MP,就是m plus官网提供的,我这里边只是机器出来了,咱们主要改几个地方就可以了,那我们来看一下啊,首先它new的这么一个对象,第一部分叫全局配置,在全局配置中大家看这句话。叫set output点就是你的输出目录,比如说我们现在最终代码生成,你要生成到哪个目录中去,这叫输入目录,而我们目前的输入目录在这里,所以按照我们的结构把这个咱需要改一下。
04:10
那我来改一下啊,我们这个是。鼓励课堂。Pro,然后我们这个就是代码里边。就是注意啊,这个径呢,我的路径跟你的肯定不一样,你要写的话,要改成你的路径,我的径在这里,所以按照它我做个修改,你改的时候看到你的路径是什么,做个修改可以了,然后往后看啊,代码下边是咱们这个。鼓励课堂parent。然后在里边有一个service service中有这个service vod在vod下边是sc Java在这里边我们最终生成什么?这是咱的第一地方需要改。比如说改成你项目的路径就可以了,然后第二个地方大家看啊,我说一下这个什么意思,其实这几个不重要,咱看第二个啊,它叫service name,它就是给我们生成service那个类,或者说interface的名字。
05:13
这句话如果你不加的话,它生成的interfe里边会带个字母叫I,比如说I user。Service会这么生成,加上之后它就没有这个I这个字母,就是一种规则而已,然后下面奥就是最终代码中的一个作者,另外还一个叫做这个。Set open什么意思呢?就是当你如果这个值改成true生成代码之后,它把代码就是给你自动打开,这个是里边基本设置,只要改的就是你的路径就可以了,然后下面这个部分改成你数据库的路径,那我改一下啊。我的数据库叫这个。硅谷课堂vod,我改一下。应该这个名字啊,然后下游线vod不要写错,这是你的这个驱动用户名密码,然后用的是my circle数据库。
06:05
这个之后往下看啊,下面什么呢?就是你的包的部分,比如咱先改一下结构。你看啊,比如我的包,com.at硅谷,咱们叫硅谷课堂,然后咱的模块叫vod,在vod下面有controller service map是一类等等啊,这是咱们最终包的这个路径,你把这个改成你习惯的方式,我是com.at硅谷,比如说最终咱的包啊,是这个样子。Com点。At硅谷。硅谷课堂。里边的vod,然后在下面有controller service1类等等。这是包,需要改一下,改完之后还有最后一个地方,因为咱们最终是根据表生成,这里边加上你那个数据库里边表的名字,我们的表叫teacher,所以把这个表名字我直接复制,建议各位写这些名字的时候最好复制,很容易敲错。
07:03
这样的话可以了,然后下面是一些策略,比如说咱们写那个策略中有那种驼峰式命名,包括这里边会生成log box中的些那种,这样的话最终就可以了。以上是代码生成器的修改,最终咱把它运行一下,因为就是一个main方法,咱们直接运行就可以了,只要你的路径数据库,包括你的包,包括你的表名的写对,代码就可以生出来。咱们等他执行出来。然后咱们看啊,最终提示我们说文件生成完成那就可以了,咱们到里边看一下啊,大家看啊,在vod下边我们仔细看是不是出现了很多的包啊,然后咱看包里边是不是也有我们很多的这个代码,包括你看啊啊有C,有service,有map map中还带了插文件,并且有实体类。
08:03
包括这些值,包括这些类,这些interface都进行创建,这就是代码生成器给我们生出来这个那种,所以大家发现是不是特别的方便,不需要咱们手动创建,因为这种创建肯定是很浪费时间,咱用生成器的工具直接能快速出来。然后出来之后咱们改几个地方,首先第一个啊,实体类,它给咱生成的名字叫teacher,咱用它是可以的,但是我刚才是一类都统一放到了model中,所以咱还是用model中是一类,用这个没有错啊,我就想用一下model里边的,那我现在把这给它删掉,然后改一下啊,首先我们看service里边。你看啊,Service中呢,他帮我们实现了这个I,之前咱讲到过,然后这个teacher咱们统一改成model中的teacher,把依赖引入。也就是model中这个teacher,包括在它的实现类中,这个包我们也改一下,我们看实验类里边,它就是继承了这个,然后里边有提成,Map帮我们做了注入,这咱也提到过,他把map给我们完成了注入。
09:14
然后最后就是map中的包,我们也需要改一下。这样的话就可以了,所以以上是一个基本结构,然后咱再看一下CTRL了,注意啊,CTRL中呢,它只是写了一个基本结构,里边的具体部分需要我们来做。当然各位知道C里边是不是要注入service,那咱把它注一下。Teacher。Service。Service。完成注入,为了咱一会儿调用方便。所以这样的话呢。这个过程咱通过代码生成器就完成了,然后这个路径我跟我的课件中保持一致啊,我都叫这个路径啊,但你叫这个生成的也可以,但为了一致我都叫这个啊,Me vod teacher。
10:02
现在就完成了啊,完成之后呢,这里边有一些知识点是此文里面的知识,咱也做过复习,那问各位同学啊,你说这个注解什么意思,叫rest controller。这什么意思?咱们说明一下啊,其实这个注解呢,包含两个,一个是controller,一个是瑞保底,Controller表示创建对象交给死润管理,然后瑞层保底表示会返回数据,它默认返的是这份数据,比如说咱们说到啊接口,咱们操作之后统一返回都是真的数据,所以加上rest controller,为了能够返回真的数据。这是我们写的这个注解,这各位要知道啊,这是我们此文中的技术知识。所以现在这个代码就都生出来了,然后生成之后我们继续往下来做啊,下面呢,咱就把它的配置文件和启动类都进行创建,那我来创建一下啊,首先我先创建配置文件。
11:03
Obligation。点properties。创建之后,把它的内容我从课件中复制过来,就是这段内容,咱们拿过来看一下啊。首先各位看第一个端口号8301,因为咱们引入依赖的时候,我们引入了这么一个依赖,咱们看一下啊,是不是web,它是外部工程,是we部项目啊,通过浏览器进行访问,所以咱用端口号8301,如果你不写端口号,默认是8080,这是服务的名字啊,这是环境,开发环境,然后这是数据库的路径,这些不要写错,然后这是什么呢?是返回这次数据中那个时间的格式。因为咱们当前时区是不是东八区,包括按照这个年月日小时分秒格式返回,如果你不写它,那它返回的是那个标准时区,就不是当前是于这个格式返回,最后是plus中那个日志,能够看到它底层的最后语句这个过程。
12:09
以上配置文件,然后写完之后,咱们最后把它的启动类我们做个创建。我在这个位置做个创建,注意请类的位置啊,在你包的最外层。把这个创建,创建之后,我把这个代码咱直接拿过来。把依赖引入。所以咱们现在把这个最基本的结构咱就完成了,然后完成之后呢,在咱们操作中是不是还应该有一个配置类啊,其实可以没有配置类,我都写到启用类中也可以,咱为了更规范,所以我再建个配置类。那我加个包叫config config里边呢,加上一个类vod config。然后在上面加上注解。Configuration,因为咱们现在有map,所以加一个叫map,看这都是我们第一天讲到的,咱就直接用一下啊,然后map把他的包的路径我们直接付过来。
13:12
注意别复制错啊,别犯这种低级错误。所以现在通过以上这些过程,咱们这个vod这个模块的环境搭建出来了,讲师里边的controller service map实体类我们就都创建出来了,这是我们做的第一部分。啊,各位把这个呢快速完成,然后完成之后呢,下面呢,咱们把项目启动一下,看一下项目能不能正常启动,如果能正常启动,这为咱的环境就成功了,咱再开始编写我们的具体接口。那现在我把它启动下啊,通过启动类我们启动把这个service给它打开。啊,这给它打开一下啊,通过这个咱们启用起来。然后咱们看一下这个特点啊。
14:04
我们稍等一下,然后大家看啊,目前项目是不是已经启动了,然后启动之后看它最后的提示,目前启动在8301端口号,证明咱的环境就正确了。所以以上啊是咱们这个过程,然后完成之后,下面呢,咱们快速写一个接口做一个测试。那什么接口来到CTRL中,比如咱们写第一个接口,第一个接口写一个简单的接口就是。查询所有的讲师,把这个写下。然后这里提到啊,按照咱们阶段学到那个right的风格查询,咱们一般用什么提交方式。这各位要知道啊,查询用的是不是get提交,所以在里边。我加上一个叫get mapping,给他起个名字就叫范,然后下面加上方法public,因为查所有讲师返回的可能没有,可能一条也可能多条,咱就给他来一个list集合,加上这个teacher。
15:10
起个名字,Find teacher。这是咱们写的这么一个方法,然后写完方法之后,下面就简单了,我在前一天讲到过啊,用MP,如果说你只是实现单表的自然给操作,那到map咱不需要写了,它都封装了,我们只需要在CTRL里边做个调用就足够了,所以下面我们做个调用。调用。Service的方法。Teacher里边有个方法叫list,咱就查所有最终返回的是这个集合,咱把集合最终做一个退。所以现在这个简单的查询,所有讲师的接口,我们就快速完成了,就这么一个接口,然后完成之后,最后再来做个访问,他的访问路径各位应该知道啊,用你当前的IP地址,因为咱是本地嘛,那我就是local house端口号。
16:10
8301加上地址,地址是你的类上边的路径,再加上你方法上边这个径,把这加到一起,最终构成你的访问路径,所以咱通过它就可以访问,因为是get提交浏览器能直接测试,那下面再来试一下啊。我把这个服务器重新启动,因为咱们加了新的代码,让它重新启动一下,最终浏览器中通过这个地址咱们访问看一下效果是怎么样。我现在表里边应该是有几条测试数据啊,咱们一会儿应该能把这个查出来。各位看啊,目前启动成功了,到浏览器中我们直接输入路径,然后回车。大家看我页面中数据输出来了,就是我们返回这么一个Jason的数组,这么一个格式数据,包括里边有各个值,各位看它的日期时间,也是咱们当前的一个格式。
17:13
所以目前就完成了。以上就是咱们完成的讲师接口中这个环境包括第一个功能开发查询所有讲师功能给各位,能把环境快速搭建代码生成器生成代码,然后这个接口能测试成功啊,然后下面咱再完成后续的功能。
我来说两句