00:00
好,我们的这个基础环境我们就搭建完了,那么接下来我们就可以写我们的增删改查了,大家下边呢,把这个也都可以测试完成。那么呢,我们来回顾一下我们这个c rud。我们先要来做什么?那么呢,我们来打开之前的这个项目,哎,比如说呢,我们现在应该做的是项目一启动,哎,来到首页直接展示咱们这个员工列表数据。所以说呢,我们应该先来做这个列表查询,你把它先做出来。好,这是我们第一个要做的就是这个查询,而这个查询呢,哎,我们还得分析一下这个查询我们的逻辑该怎么写呢?首先我们来想想啊,我们这个项目首页在这儿,如果我启动直接访问,那就是访问这个页面啊,它这个没法展示数据的,所以说呢,啊,我们应该这么来做,首先。
01:01
访问咱们这index.jsp页面,然后呢,index.jsp页面。JSP页面来直接帮我们呢,发送出查询咱们这员工列表请求。然后呢,我们自然就会有一个处理器,比如呢,我们叫employee controller。Controller来咱们这接受请求。接受请求,然后呢,他查出员工数据。来查出员工数据以后呢,我们就希望啊,来到比如呢,我们来到咱们这个历史页面。回到咱们这个例子的页面。进行展示,所以说呢,总体来说啊,就这么几步,那么呢,我们就来按照这几步,我们一点一点来写。好,先来到我们这个应对页面,我把这些就注掉。
02:00
我们从页面呢,我们希望直接发起查询请求,比如呢,我们在这一块开始啊,我们这个规定一下我们这个查询请求。哎,我们来规定一下,那么查询请求的uri呢,哎,比如呢,我们就是当前项目下的EA,我们要获取所有的员工,好,那么呢,我们就在这里边,哎,我直接JSP。Forward好,直接呢,转到我们当前项目下的EPS请求,那么自然我们就得写一个处理器,哎,我们在这里边呢,我们来写一个处理器,就叫EMPLOY1CONTROLLER。好,那么这个处理器里边呢,它的作用就是来处理咱们这个员工增删改查请求的。处理。处理咱们这个员工。咱们这个。CD请求。好比说呢,它是一个控制器,然后我们来编写,我们第一个来处理的方法就是获取所有员工的。
03:08
诶,比如说呢,我们在这个方法里边呢,我们来return,哎,Return的返回值就是我们希望来到list页面进行展示,因为我们有这个视图解析器,所以说呢,哎,它一拼创以后会来到web in for下的这个list,那我们就来创建一个这个list页面。这个页面呢,就是咱们这个员工列表的页面。员工。Some。那么呢,我们在这个页面呢,最后最终要做成这样的效果,我们一会再来做,我们先把这个逻辑写出来,好,我们让他处理请求,An request map注解好,它呢处理的就是我们EMS请求。那么这个呢,就是啊,咱们这个查询啊,员工数据,而且呢,我们现在呢,在页面做的是一个分页查询。
04:07
所以说呢,我们先来在这儿,我们先来看这块,我们要查自然就得调用我们service employee,哎,比如呢,我们employee service,我要调用service层的业务逻辑属性。而这个service层呢,我们还没写,所以说呢,我们可以创建出来。好,我们把employee service,我们就来创建service。好,我们这个employeeler呢,哎,它来自动的,哎,咱们这个装配我们这个service层业务逻辑组件,而我们这个service层业务逻辑组件呢,他帮我们来查出咱们这个员工的所有数据,哎,比如呢,他有一个叫。表头,他能帮我们来查出整个员工的所有数据,来返回一个list类型的员工列表。
05:02
Least employee。好EPS好,这是我们呢啊,希望有这么一个方法,那我们就来创建出这个方法,那么这个方法呢,自然我们service层要返回数据,是不是要调用do啊,所以说呢,我们就来注入employee。Employee咱们这个member好,这个member我们来O自动注入,好我们这个查询呢,也是一样,调用我们employee member点哎它有一个select,哎,它返回一个list,我们查还要带上部门信息,所以说呢,我们调用我们第二个,但是他要查传入查询条件,我们现在呢是查所有没有什么条件好,我们呢就来这么来调用。好,我们这个service层,它是一个业务逻辑组线,我们把它扫描进来。好,这是业务逻辑组件,这有一个呢,调用我们这个查询方法,查询所有员工。
06:04
所有。这个所有员工查出来以后呢,我们控制器诶,调用业务逻辑组件就能查出所有员工,而这个所有员工呢,我们现在来想啊,这个查询它会查出是不是1000条啊,所以说呢,非常多的员工记录,我们之前呢,查入了非常多的数据,所以说呢,这不是一个不是一个分页查询。如果我们要写分页,那就麻烦了,首先呢,我们这个页面是不是得传入我们这个英特,这比如呢,我们要去第几页,是不是传入我们配置number,哎,假设我们发请求的时候request power。Request。页面呢,会传入一个PA number,当然我们这个从首页过来,他没传PA number,我们在这块写的时候呢,就可以给他一个默认值。比如说呢,这个配置number,如果你没传的情况下,默认值呢,哎,我们就是哎第一页好,第一页我们要第一页数据,哎,我们这么来写好。
07:06
所以说呢,哎是你不传,那就是,呃,我们这个配置number就是一,但是如果我们要分页查询,我们自己要写。我们就可以根据我们的这个配置number算出我们要开始查询的这个记录数,然后呢,哎,我们自己来改造这个get方法,我们加上那个limit限制。哎,我们为了这个分页开发简单呢,我们就引入咱们这个叫配置这个分页插件。这个分页插件呢,哎,我们之前马贝蒂斯有用过它,那么呢,我们就来直接引入这个分页插件,首先呢,我们来。我们来搜索一下。垫付一下差价。我们加helper。哎,就是这个通用的分页插件,诶点进去这是咱们这个分页插件所在的这个项目地址,那么怎么用呢?我们自然要引入它依赖的这个扎包。
08:10
好,来到这里边,这里边就how to use,哎,咱们有这个使用文档,我们可以点进去,那么呢,首先就是引入我们这个依赖包,哎,这一块呢,我们拿过来。这个最新版本是多少呢?诶我们来可以看一下啊,这个how to use,这个英文官方文档里边没有这个啊,最新版本我们可以点中文文档,这个使用的时候呢,来我们来看引入它最新的,这有一个5.5.0,所以说呢,我们先在po文件里边。泡沫文件里边,好,我们先引入分页插件。进入。Helper。封页咱们这个插件好,这个插件引入以后呢,我们来看,诶咱们这个配置helper以及它依赖的呃,Java circle这个pass包也都在,那么接下来我们需要呃,在我们马贝蒂斯全局配置中注册这个插件。
09:11
来我们这有一个啊plugs标签,我们用它来注册我们这个plug,那么这个分页插件的注册,哎,我们这个plug写的位置不对,大家来看啊,那么这个plugin标签呢?啊,它的位置要放在我们这个type elyes后边。好,我们放在后边来引入咱们这个分页插件,那么这个插件的引入呢,我们也可以参照官方文档,诶这个使用我们来看它的这个如何使用封建插件来点进来。把这个包我们依赖进来以后呢,我们只需要配置这个有一个叫配置,把它配过来,好,我们分页插件就已经进来了,分页插件里边要用的一些配置参数,哎,如果大家要配也可以参照下边的配置参数来配,我们暂时呢先不配啊,用到的时候你再配好放在这儿,接下来我们来看要用它来做封页,其实非常简单,我们说在查询之前。
10:13
之前只需要,哎,只需要咱们这个呢调用。调用我们下面的这个方法叫配置help。哎,点有一个叫start patch诶你从传入你从第几页开始查,正好呢,我们这个PN是我们要传入的页码,哎,你每次呢,有几要查几页,我们的每每一页啊,不是每次查几页,是页面有每一页有多少条数据,假设呢我们每页五条数据。传入咱们这页码。传入。传入咱们这个页码,以及咱们这个。以及咱们这个分页啊。每页的大小,所以说呢,这一块,哎,下边的这个查询,接下来它紧跟的这个查询。
11:07
他派置后边紧跟的查询。紧跟的这这个查询。就是一个。一个分页查询好,这个分页查出来的数据呢,包括我们查出来的这个结果。哎,我们下边呢,有一个我们之前有用过一个叫配置音符,哎,这个配置音符我们呢,可以把查出的结果直接来包装,哎,就会哎非趁用。所以说呢,我们也可以按照它这个用法来用排in for,它里边呢,就有我们这个,哎,比如这个page number,我们当前页码page size,每页有多少条记录啊,开始查询的记录,以及结束的这个记录,还有咱们这个总记录数,以及它的这个总页码,呃,第一页最后一页是否第一页是否最后一页是否有前一页,是否有下一页等等等等,有非常多非常详细的信息,我们也就是用这个配置营造来包装我们最后查出来的这个结果。
12:15
好。把它导入进来,好,所以说呢,我们还可以查完以后呢,我们使用咱们这个配置音符包装,我们查完的结果。使用。Ino包装啊,查询后的结果为什么要用它包装呢?因为我们这个配置ino啊,由我们这个页面我们来看,如果是查询我们页面里边当前第几页要所有的信息,以及每页显示啊,咱们这个分页导航显连续显示多少页的这些信息我们都需要,而在这个配置因素里边都能找到,所以说呢,我们希望只要啊,我们只需要。咱们这个配置音符交给页面。
13:02
交给咱们这个页面就行了。配置英镑交给页面的时候呢,哎,这个配置英镑里边封装了,它封装了。封装了封装啊,咱们这个详细的,咱们这个封点。包括还包括我们查询。出来的这个数据啊,所以说呢,我们把这个交给页面就行了,那么要交给页面呢,我们也非常简单。我们可以传一个model啊,或者map之类的,我们给它里边添加数据model,我们就传model。给它里边保存的数据,那么都会被带在带给页面,它会放在请求一中,所以说呢,我们这个model。点哎,我们来添加一个,我们比如呢and attribute,我们就来添加一个们就叫page info,你把这个信息传进来,这个里边它就包含了啊,我们这个页面的分页的详细信息,以及我们要查询出来的数据,包括我们现在来看。
14:10
我们想要做的是呢,每页连续显示五页,也就说呢,我们每次是连续显示五页,如果是第四页,那就显示23456,每次连续显示五页,那么在这个配置英六的时候,诶,我们可以用它第二个构造器传入你要连续显示的页数,我们要连续显示五页,那么传入五就行了。可以入。联系传入连续。连续。连续显示的哎,页数把这个传入进来呢,以后呢,哎,我们在页面可以通过这个配置对象的。有一个get na get numbers,把我们连续显示的这些页码都能拿得到,好,我们这个方法就编完了,接下来我们来先来测试一下,测试通了以后,我们再来写引证,我们这个分页方法,哎,通过咱们这个发请求带来咱们这个要去第几页,我查出啊这一页该有的数据以及分页的详细信息交给页面,我们先来看这一块走得通吗?好,那先停一下。
我来说两句