00:00
下面呢,我们继续来完成课程分类管理,下面呢,咱们实现课程分类的导入功能,也就是把Excel中的数据最终加到数据库中,那下面我们来这这个功能,而这个导入功能呢,其实它实现的就是一个文件上传过程,只说这个上传咱是群里面的内容最终加到数据库,那下面咱们来写一下这个操作。首先先完成它的接口,那咱来到CTRL里边,在里边创建这个接口。我们来写一下课程分类的导入功能,加上注解A片ator。课程分类导入,然后加上它的方法,因为方法做的就是一个上传的过程,所以咱们加上一个POS提交,加上这个路径,路径我们叫import data导入数据。最终加入方法。
01:01
Public result import data。把这方法我们完成,完成之后呢,因为咱们做的是上传,上传的话首先要得到就是你上传过来的这个文件。那怎么得到,咱们提到啊,在re里边封装了一个对象,这个对象叫做马蹄part file,通过它得到上传文件,得到之后,咱们调用service中的方法做一个导入的这么一个实现。把文件直接传过来,然后最终一个值直接成一个,OK。所以现在CTRL部分我们就完成了。CTRL完成之后,下面呢,咱们来编写service中的方法,在search里边,首先我把这方法咱们先进行创建,创建之后来到它的实现类终,咱们来最终实现这个方法。而实现方法中,咱之前讲到了,因为它要读取Excel中的数据,而用easy Excel读数据需要用到一个监听器,所以咱在里边建个监听器这么一个类,然后把这个进行读取,那我来创建一下啊。
02:16
在我这里边,首先我们先建个包,这个包我给它起个名字,名字我们就叫listener。创建之后在里边来编写这个类,我们起个名字就叫subject。然后让这个类呢,来继承一个类,我们来写一下。这个类咱们从课件中给它直接复制过来做一个继承,继承之后里边加上它那个泛型,就咱之前看那个subject e VO,把这个先做一个继承,然后继承之后咱们来实现里边的这么两个方法。
03:03
咱们看一下啊,首先大家注意啊,在方法中第一个一,它会读取每行中的数据,它是一行一行进行读取。它读取是从这个第二行开始读取,因为他认为第一行就是你的表头,然后读取之后到这个subject e中去,所以咱把数据加到数据库就可以了,而加的话大家注意啊,因为这个是Li里边,咱要加数据库,要叫map中的方法,所以咱把map注入进来做一个添加。首先加个注解component交给使用管理,然后咱们注入map,把它做个注入。加上奥。加上这个叫subject。Map这个完成注入这里边啊,报了一个错,咱在map上边加上一个注解,就加这个。
04:03
Reporter让他不报错,所以现在这个就注入了,注入之后调用map中的方法,我们进行添加,Map里边的方法添加是insert,然后这里边要传的是一个subject对象,要传这个对象这各位应该清楚啊,而这对象呢,咱目前是VO对象,所以咱做的话要把这个subject意义VO对象给它转换成subject对象。那怎么做呢?之前咱们写过啊。你从view里边get出来,Set到里面去,而这过程中我们有过工具类,这个叫B。里边的copy,把你这个view中的数据复制到中去,注意顺序别写错啊,把谁复制给谁,把view中的数据复制给这个subject,最终subject中有咱的内容,然后咱们调用iner的方法把它加到数据库就可以了,这是我们写的这个接像器的代码,然后写完之后咱们来到S里边,在service中,我们最终做这个就是导入的这么一个实现。
05:17
那咱来写一下啊。我们调用easy Excel中这个方法叫做read的方法,里边传入我们的数据啊,咱们就用里边的这个方法,第一个文件的输入流我们写上。然后第二个实体类的class subject e vo.class第三个是你里边那个监听器的对象,但是监听器呢,注意啊,这里边你不能直接new的监听器,这么写是不对的,因为你new的对象润里边不认识,咱需要用的方式来用这个对象,那怎么用呢?你看啊。我加了一个注解,所以把这个监听器咱给它注入进来。
06:03
然后进行使用就可以了,那我来注入啊。Listener把它注入,注入之后把注入之后的对象给它直接传过来就可以了,然后最终我们在调里面的方法里面这个sheet。包括里边这个叫do read,最终完成他这个就是读的过程。它里边有异常,咱们加个try catch捕获一下,如果它出错,那我们直接抛出一个异常,这个硅谷课堂。Exception。20001叭,如提示说导入失败。C以上咱们就是把这个导入的接口就最终完成了,注意它的监听器的过程,咱们通过损方式注入map,然后把监听器注入到里边,最终进行使用,注意里边的这个过程,所以现在啊,这个咱们就写完了这个接口。
07:02
这各位能快速做到啊,然后接口写完之后,我们最后来整一下它的前端,把前端最终实现,那咱来看一下啊,首先前端里边第一部分咱们先加上一个按钮,就在刚才那个导出的下边,咱就加上一个按钮。那我来加一下啊,我们看这位置。导入。加到这里面。然后导入里边有个方法,咱们加上方法,因为导入过程中它需要上传,上传的咱就要用IUI中组件弹过框上传,这里边是UI中做到的,那把这组件我就复制到我的页面中来啊,咱们做个复制。只要放到这个div中就可以了,给他拿过来。这是弹框组件,而弹框怎么用说明啊,在里边有个值,这个我先复制,然后咱说明它怎么用,因为都是I的UI中封装的,咱不需要过多去关注,大家看啊,这里边有个名字,就是里边的这个。
08:05
和强调UI中约定,当你这个名字的值是处,它就会弹框,当它只是false,它就不弹框,咱们来一个初始值,让它是false,默认不弹框,一会儿弹框再做个实现。然后这个完成之后,最后呢,那咱就写这个方法,把方法拿过来我们看一下啊,我写到这个位置。咱们看这方法。方法里面有两个,第一个就是弹框方法,然后第二个是上传成功之后,那咱们提示并且关闭弹框,然后刷新页面,得到我们就是最新的这个数据。包括你看啊,在上传里边别忘记把路径改一下,这里边改成你那个就是导入的路径,咱们这号号8301这个这个修改,然后这个路径我们最好从接口中复制一下,防止我们写错。我再付利粉。
09:01
所以现在我们就完成了啊,前端完全是基于element UI中的组件进行实现,各位给他直接分可以了,然后里边的路径注意给它改一下,不要写错。所以现在啊,这个就完成了啊,完成之后我们最后呢,把服务器启动看一下最终的结果,就看一下导入。课程分类的数据能不能加到数据库?我现在呢,提前创建好了一个Excel文件里边呢,写了两个简单的测试数据,就这个数据我们看啊,一级二级分类,然后他们有这个关系,那我现在用它做一个导入的实现,那我们来试一下啊。现在你看啊,里面有这么多数据点导入,大家看它那个框,然后点击上传,找到刚才我那个文件,我们找一下啊,我的文件应该是在我里边的这个位置。啊,应该是在这里。
10:01
然后打开上传,提示我们成功,大家看在我的列表中是不是有一个一级分类,包括下面有一个二级分类,到表里边看一下一级二级分类就是11122是我故意加的数据,所以目前把这导入咱们就完成了。也说以上啊,咱们通过这些部分就完成了课程分类的列表功能,导入功能,还有导出功能,导入导出咱们基于easy Excel来进行实现,所以各位把这个功能能最终实现出来,这个功能为了后面咱们做课程添加做准备。
我来说两句