00:00
好,那我们的这个service如何去啊,进行一个开发呢,也就是我们希望呢,我们的这个service呢,会返回这个data对吧,那我们要返回的data的,呃,数据是什么呢?应该是我们那天写的那个Excel表里面。的所有的数据,所以呢,我们先把这个数据库打开。数据库呢,在这款啊0921SRB卡,然后接下来呢,我们其实呢,要返回的是这个data数据列表里面的所有的数据,所以呢啊,我们如果是这样子写的话呢,我们就可以在我们的service当中啊,去定义一个方法,让它返回呢,我们整个的这个Di的啊,这样的一个数据库里面的啊,一个一个数据库列表的一个内容哈,所以呢,我们在service层先写一个方法啊。嗯。我这块写什么呢,写一个叫。
01:02
Export get吧。Get data不是类data,然后嗯,接下来呢,我在这个地方呢,就啊生成这个方法。这个方法呢,我们要写在service层,所以呢,我们要调用service层的这个方法,那就是这的service。呃,就是这的service,然后呢。在呢?点点list date data是吧?啊然后呢,在这个地方呢,我们out加enter注一下,好,那这块呢,我们就返回一个list,当然了,这个类我们要返回的是带有泛型的,也就是说这个结果。
02:04
啊,是这个结果,然后接下来呢,呃,在这里面呢,我们再把这个out加enter执行一下堵车啊,在这面呢,我们就呃写这样的一个类似data data这样的一个方法,然后在类似data data这个方法里面呢,我们会选择这个呃数据库相应的表,然后返回到我们的数据列表,所以呢,在这个地方呢,我们就直接啊先啊把所有的这个date里面的所有的数据呢,全全都返回,当然了,我们这边还没有导进去哈,一会我们导一下啊,把这里面如果导进去了,对吧,把所有的数据呢全都返回,然后那怎么返回呢?其实就是base map。点嗯,Select list,然后呢,没有任何的条件,所以呢就是返回所有的数据啊,这面呢,我们就写list。然后但是实际上我们在呃,之前开发这个Excel的时候,咱们再看一下之前的这个代码。
03:12
看一下这个write,我们之前在写这个Excel的时候,你会发现咱们在write的时候呢,它需要的这个数据,其实呢,并不是对应数据库表当中的试题,就这块它应该对应谁呢?它应该对应于我们封装的那个Excel试题,对吧?啊,所以说那现在我们取出的数据库表当中的数据呢,实际上不能直接作为我们的Excel导出的这样的一个封装的对象啊,然后写入到Excel当中,一定要给它做一个转换,转换成我们相对应的封装的这种Excel的d to的这样的一个视频,那这样的话呢,我们就知道刚才我们写的这个代码呢,其实应该封装谁啊,应该封装这个Excel Di的d to对吧?所以呢,我们把它再优化一下Excel Di d to啊,那同样的在我们的负类里面这块呢,应该也是Excel d to是吧。
04:10
好,然后接下来呢,在controller里面,我们希望这面呢,返回的是Excel d to,然后呢,再被这个do right呢,给它写入到我们的啊应用程序当中是吧,然后再返回到前端,好,那这是这样的一个过程,那接下来这面的话,这面的话呢,我们既然目标明确了,就是要把这个这的列表转换成Excel date d to列表,那么我们呢,就需要对这个进行遍历,遍历的过程当中呢,我们在啊将这个的。转换成Excel对地球,然后再放到最终的列表里面啊,所以那我们呢,就需要去再创建一个最终的列表,就是创建。Excel date d to列表对吧,然后将list啊,或者是说将date列表吧,啊,这个转换成。
05:13
Excel列表。好,我们现在要做的是这件事情,所以呢,我们先new a list,然后呢,这面呢,我们写Excel date d to,然后接下来呢,我们在这面呢,在创建这么一个Excel d to。D to。太长了哈,整短点好,然后这样的话呢,这个列表我们创建多长呢?效率最高的方式呢,就是我们指定一下它的长度,好,然后接下来呢,我们就创建一个和它一模一样长度的列表,省得以后不够了再扩容,反而这个浪费效,这个我们的应用程序的执行效率是吧?啊这样的话,用最大的效率直接一步到位啊,就是啊,创建一个指定的一个长度的这么一个列表,因为我们就是要把这么一个列表转换成这么一个列表放进去,它俩的长度一定是一样的,好,然后接下来呢,我们就遍利这个date list.for each。
06:36
好,然后在这个里面呢,我们直接用箭头函数吧,啊,也就是说我们呃,所有的这个这类里面的每一个数据项呢,都会被啊直接封装到这个Di这样的一个对象当中,然后接下来呢,我们就创建根据date,然后创建Excel Di,所以呢,这边我们就new一下。Excel date d to,然后接下来呢,怎么样根据date创建一个Excel date d to呢?实际上呢,这这两个里面,我们就希望把这里面的同名属性都拿到Excel date d to里面,那我们就做一个对象拷贝。
07:19
In,第2COPY property啊,然后呢,我们把date拷贝到。我们的Excel这的d to里面好,然后接下来呢,就是Excel的。呃,D to list.i我们刚才的这个Excel d to对吧?啊,所以这块我们就写好了,写好了之后呢,那整个我们的那list啊,这样的一个嗯,数据列表呢,也就啊开发完成了,然后啊也就获取出来了,获取出来之后呢,最后呢,我们可以把它直接回来。
08:02
Return的是他啊,对不对啊,把它回来好,那这块呢,是我们整个业务层的一个开发了,然后接下来呢,我们来试一下,在这边呢,我们把服务器启动一下。嗯。好,这个服务器呢,已经启动成功了,然后接下来呢,我们来到这个。页面在这个页面当中呢,因为数据库中还没有数据哈,我们先来做一个导入工作。
09:03
好,然后我们。来我看一下啊。这个导入好像应该是我们点完了,他应该上去是不是。嗯。你是不是那天改什么了?刷新一下啊。先点导入。然后点数据字典初始化打开,正常情况下我就是点完了,他就应该马上执行上传,是不是现在它没有没有的话呢,就说明我们那天在讲前端代码的时候呢,做了一些。这个。修改啊,没给它改回来就是out to upload应该是true,是不是那天讲这个属性的时候,咱们没有把它改回来,那这个咱把它改回来啊,改回来之后呢,然后这面。
10:00
我们先导入。好,这样的话,那就倒了,倒了之后它当然它失败,为什么,因为那天呢,我们改代码了,把它改成错误的代码了,要测试它的那个啊,通信失败是不是,所以咱们再给他改回来啊,就这面再给他改回来是不是啊,所以你要把这理解了的话,就知道为什么会有问题了。好,然后接下来再点导入。这样的话呢,我们就导入成功了,然后我们在这边呢,看一下数据啊,它已经导入到我们的数据库当中了,然后呢,我们在导出,导出的话呢,因为刚才我们去写了这样的一个后台代码,而我们的后台代码的完整的一个路径呢,我们再来看一下啊,是。叫做xport啊,我们把xport呢也给他加上。
11:01
好这样写,然后接下来呢,我们在这面。现在呢,是数据库当中已经有数据的情况,我们直接点导出,好大家看这样的话呢,这个文件呢,就会以一个附件的形式直接被下载下来了。好,大家看这个数据呢,就被导出来了,能不明白啊,所以说这个整个呢,是我们Excel数据导出啊的一个具体的流程。
我来说两句