00:00
好,接下来我们进入到班级管理啊,先看一看这个班级管理运行之后呢,它的一个效果啊,嗯,还是在这块用咱们现在这个写好的项目来测一下啊,看一下首先点一下这个班级管理,一点击班理之后,班级管理之后呢,它立刻发送了两次请求,这两个请求呢,其中有一个是进行了一个查询,一个是当前班级信息查询,还有另一个查询叫什么叫做get grades,这是干嘛呢?来点看一看,他还请求了great control,来一个get grades,然后他给我们响应回来了,看一看啊,有什么一年级,二年级,三级,四年级啊,我想这个信息放哪呢?放这了,看这这一个年级的一个展示,这个年级的1234年级,就是数据库中实际所存储的那几个年级,所以事实上一进这个页面,它发生了两次请求,一次是查询分页,查询年级信息,一个是呃,查询所有的什么,查询所有的这个年分页查询班级信息,然后这块呢,是这个是查询什么,这是查询所有的年级信息,那哪一个比较好写呢?这个get grades比较好写。那咱们先把这个get grades给它写一下哈,首先看这个消息,它是一个get请求,请求的方,请求的路径是SMS great controller啊,这是请,这是查询年级呢,这面有个get grades,把这个来给CTRLC复制一下,请求提交的数据是什么?请求提交没有任何数据,想回的是什么?看这个格式,看这个格式啊来code message data data里面是一个一个的对象,一个一个的great对象,然后后后面这是一个OK处就OK了,这这这这个按照这个格式来准备数据就行了啊也就说查出来后端只要查出一个所有年级的一个集合,然后往这个对象里面的data属性上一放,然后呢,设置设置code的200MESSAGE成功OK为处就OK了,那这个get b就已经搞定了,这块就会展示所年级,而目前咱们这个项目啊,刚一进来啊,没看完的项目一进入班级管理了,上来来来了两个404,来两个四,404是啥意思呢?一个是班级,呃,查查这个班级的信息那个呃,Control是一个404,还有就是个年级这块呢,这是无数记的,这也是一个404是吧?所以呢,咱们先写第一个吧,Get grade。
01:59
嗯,打开咱们自己这个项目,找到great controller,先来一个查询所有年级的一个GR,啊是他这是一个,呃,没有记错,它应该是一个盖的请求来看这,哎,来请求头这是一个。
02:16
啊,原始的,哎,这是一个get的请求啊,好,如果是一个get请求,在这继续写那一个public result,嗯,叫做get greats吧,Get grade参数不需要什么,但是这块来一个叫做at,呃,Get麦ping。对应的映射路径,哎斜线,哎斜线就是这个get grades它就可以了,那它前面那一段呢,在这已经写好了是吧?哎,好啊,返回的结果是什么?在这块要用这个great service维调一个查询全部的一个方法叫做哎有没有get,有没有get grades。对,放点。Find也没有啊,Get GS啊,这个没有这个方法啊,没有这个方法呢,咱们就自己写一个吧,要get grce啊,好写它,写它之后呢,让他给咱们返回一个list集合,这个list集合里面放的啊,就是全部的grade啊,等于grade啊,这个gradece等于它,然后把这个grades这个信息呢,放到一个result里面进行返回就可以了,Return result,哎,点OK,快速构建一个,并把这个grade这个数据放进去,诶这就完事了,后端这块就OK了,搞定之后呢,不要不要忘了加上这个叫at API诶在方法上是API option,这个是查询全部,这是获取,获取全部,呃,年级。
03:41
年级年级的一个,哎,这那个get方法就搞定了啊,这get grades现在这个方法没有,没有的话创建一下,创建一下之后呢,那这是在接口中创建了它啊,再到它实现里边去实现它,它怎么实现的来实现一下。实现一下,这里面怎么实现呢?实现起来也非常非常简单啊,直接用这个叫做呃,用base map点叫做select list SE。
04:09
还e select list,然后里面放querywaper,那就是查询条件,查询条件我什么都不放,直接放一个now就完事了,没,没有query rapper就代表查询全部,然后接下来继续向上返回它就OK了,Written return,诶,完事。老师哎,好,搞定了搞定了啊,那这个查询年级这个东西一旦加上之后,那咱们这个项目里面啊,在班级管理这个年级这个部分就已经搞定了,来看看试一试啊,重新进来来进来。行,重新进来一遍吧。这这是我的想法,先这个9001啊,这是嗯,班级管理,哎,怎么还是两个404,怎么还是五,数据看一看F12。嗯,网络。再来一遍。Get还是找不到啊,GR get GS还是找不到,找不到原因,有可能是忘了重启了啊。
05:14
好,重启之后再来重新请求9001走。嗯,班级管理你看这个年级这块啊,年级这块你看这个年级数据就有了,但是下面这个分页在店查询所有班级这个呢,还没有做到,所以你看这块还在转圈圈,他还是出现了一个404,但是这块就有了啊,转了之后再来看教师管理这块,这块有个班级还没处理呢,学生管理这块这个也是啊,也是班级是吧,还这个一会呢,咱们都会处理啊,先把这个班级管理这块的这个年级这个事咱们已经处理完了,处理完之后呢,接下来就是分页在添加查询,一进一进这个班级管理之后,他请求了谁呢?把这个全都清掉啊,拿咱们自己这个来测试啊,一进班级管理之后啊,他请求了谁呢?把这些全清掉吧,重新来。
06:02
先进入班级管理,看一看发生了什么请求,嗯,通上去,它有一个叫做嗯,Get grade这个请求,诶怎么还是他。这是个班级管理,这呢有这么个请求啊,叫做SMS class ctrl了,里面有个叫做get class by op PR,然后呢,这有一个一三啊你看这里是分页了嘛,诶第嗯查询第一页页三条,那如果说我要是做模糊查询的话,来看这这有一个年级名称,年级名称来一个什么,来一个呃三来一个四年级吧,四年级啊你看这不有个所属年级嘛,是吧,然后还有个班级名称啊,那这个班级名称呢,可以写成一个呃一班。一般诶诶一般啊,写个一就OK了,然后一点击这个搜索,看一看发生了什么事情来走,你看他走的也是这个,呃,也会先请求个get gras,但是呢,还会再请求一个这个3GET gras,还是获取这个年级嘛,获取这个年级,然后为为了在这展示是吧,但是呢,在一点击搜索的时候呢,他又多发了一次请求多大的两个参数,这两个参数啥呢。
07:02
这两个参数在这个请求中来看,原始头。呃,这多带两个参数,一个叫great name,一个叫做什么呢?一个叫做呃name,这个great name应该是年级名称,这个name应该是当前班级,呃,所属的年级的名字是吧?来看一下,这是great,应该是年级名称,后面这个班级名称应该是班级的名称是吧?来,都拿过来。哎,Control c照着这个controller在后端继续写一个,这个时候就到class controller里面去写了啊,Class controller class controller是它,哎,这里面有个SMS class controller,这已经写好了,为这个UI准备一个,呃,准备一个controller。前面这个不重要,来给它删掉就可以了,这个两个参数,这个参数具体是啥不重要啊,主要看是两个参数名是吧,点行它行它之后呢,针对于这个接口,针对于这个接口咱们就要写后台的哎处理器了啊,那这块处理器怎么写呢?也非常简单啊,按照因为这个分页呢,带条件分页,咱们之前已经写过了,所以再次写来应该已经不是一个什么大问题了,来public,嗯,这个它访问类型应该是也是一个result。
08:10
来result啊,这边get c z z by什么呢?BY这个叫做啊,OOPR吧,OPR啊好,嗯,来一个艾,这是一个get mapping啊,这是一个get请求,后面写成一个斜线,写什么呢?前面已经有这个class ctrler了,咱把这个带过来就可以了,来这样CTRLC拿过来CTRLV这两个要诶作为占位符来使用啊,放两个占位符,一个是呃配置no,诶,一个是呃配置算来一个at API API API option。Option啊,这是分页带条件查询,呃,查询什么呀,查询班级哎信息,然后在这有这样几个参数,第一个是一个inte类型的一个呃,配置配置no,还有一个是in类型的一个配置size,哎,还得有一个什么呢?它还要带上这个great name和name呀,那好再把这两个也给它带上,再来一个string的g great name啊,还得有一个诶的这样的一个name,哎,好,接下来给这个东西加注解,首先这个配置no要从这个路径上去取参数过来,它来一个哎,Pass verable对应的上面参数叫做也叫做配置no啊。
09:41
来这个呢,也是一个大pass variable里面定的叫做page size。这great name是个啥呢?Great name是一个呃,这个年级的名称,还有年级,这是呃班级管理的班级名称,然后这是班级的所在级的名称,看这个class这个表格啊,这有一个name,这个name是当前自己班级的名称,然后这块还有一叫什么呢?后面还有个个great name,这是他所属的年级的,哎,年级名称啊年级名称,那好,那这个地方呢,可以怎么接呢?可以用这样一个对象来接,哎CLA用它来接就可以了啊CLACLA,哎,因为你看啊,这个class这个实体类上,这里边不是有这个name和什么和这个great name嘛,对吧?哎,直接用一个对象来接受就可以了,它就是哎分页查询的一个哎条件接下来这些准备完之后,准备好之后啊,还要在这加一什么艾特API来API perel,这个是呃分页查询的,呃页码数,分页啊查询的这个页码数。
10:53
下面这个是分页查询的叶大小。
11:10
嗯,好,这个是分页查询的什么呢?来一个艾特也是一个API,这是一个分页查询的查询条件。查询的查询条件好,查询条件呢,这个就搞定了啊搞定之后,嗯,那接下来设置分页信息,来一个配置对象。配置对象,然后泛型写成一个c z page等于new一个这个配置在new配置里面呢,放上page no和page size。放好配置赛之后,接下来呢,搞一个I配置,用这个CZZ,嗯,CZ service,这个service还没有注入进来的是吧,咱们得注入进来一个at autowa这样的一个private啊,Private的一个series的一个service service service,好,然后呢,用这个c class service点一个叫做嗯,Get c zz class by什么的,BY这个OPR吧,哎,然后把这个配置对象要给它传过去,再把什么呢?再把这个class对象,哎,分析查询条件一个它带过去,然后由它给咱们返回一个I配置。
12:29
I配对象里面放的啥呢?放的是C,这就是一个I配置对象返回之,拿到IP对象之后呢,再把它放到result对象里边进行返回就OK了,Return return,诶return一个re Su result.ok然后里面放上这个I配,哎就可以了,就可以了,哎,好啊,这个方法没有来给它创建一下。创建一下具体的实现到实现里面,把它来实现一下,来实现一下啊实现的时候呢,这个具体怎么写呢,这个代码呢,跟咱们那个结构也是比较,也是较类似的啊嗯,第一步还是要准备一个query vaer que queryper query vaper,泛型呢可以指定为class。
13:20
哎,知道等于有一个query rapper,然后条件呢,要从这个里面找他的great name,或者是哎这个name,那接下来就拼,拼什么呀,拼条件了,嗯,拼什么条件呢?先从这个class身上再get什么呀,Get它这个叫做great name,获取他的年级名,哎,然后呢,如果说这个年级名string us us.is empty great name,如果这个年级名它不为空。不会空,就在query wrap之中拼上一个什么,拼上一个like这个条件,哪个like条件呢?是表格中的啊,表格中的这个class,表格中的这个gradeid name啊,Grade name这一列。
14:02
这一列啊,Grade_name是吧?哎,是啊,Great下划下划线,Name这块写的是GRD_name这是表格里面的内名,这一列面的数据like谁呀?Like这个great name,嗯,好,然后再来还有一个什么呢?除了这个年级的这个幕后查询还有啥呢?还有这个来name,从这个class上再去获取当前自己的年级名,如果这个name哎,它不会空,那就找数据库表格里面这个name这一列like这个,再把这条件这个它也拼上就OK了,就是拼接两个查询条件,分解好查询条件之后呢,就要进行查询了,查询之前再来一个排序吧,来一个query work.order by DSC,然后里边写成一个ID啊,根据ID来进行降序排序,接下来要进行查询,Base map有个select。呃,By page,诶不是select page啊,不是by page另会把谁放进去呢?把这个per放进去,上面这个应该是一个per嘛,Page perel啊,这会把这个当前的分页的信息放进去,然后呢,再把这个quary upper给它放进去啊,Qua放进去之后呢,它会给我们返回一个啊这个配置对象,再把这个配置对象呢,继续向上返回就可以了,来class配置,那继续向上返回就可以了,那这个分页再条件查询后端代码就已经写完了,接下来进行一个测试啊。
15:22
重新发布。哎,你看这个查询的这个搜Q语句在后面都能看到,这些日志也能看到啊。9001进来,这个时候再进入这个年级管理,这是好使的啊,这是咱们之前学过的年级管理,再从年级管理往班级管理跳,你看诶你看这个数据就过来了啊,假设我想根据年年年级没团查一下啊,查一下一年级啊,一年级有哪些班来走啊,一年级有一班和二班是吧?哎,然后呢,再来看啊呃,这个这个年级信息我给它重置一下,清掉之后,班级名称我写成一个什么,写成一个三,你看就会根据这个所属的嗯,这个班级名称来进行搜了哈,包含三的都会被搜到,来一个搜索,你看三年二班301班,诶这就都搜到了,那这个。
16:09
嗯,这个带条件分页以及呢,这块展示展示的这个,呃,年级所有的年级这个就搞定了就OK了啊。
我来说两句