00:00
好,当我们写完第一个需求创建命名空间之后呢,我们再来写第二个需求啊,第二个需求呢,文档里面对应的是判断表格是否存在,我们要写一个方法,返回一个布尔类型来判断它这个表格呢是否是存在的啊呃,这个方法呢,我们单独写出来啊,就是为了后续在使用创建表格,修改表格的时候,可以提前进行一个判断,后面使用的比较多,所以我们提前把这个方法来给它定义出来啊,判断表格是否存在public static,这要有个返回类型,Word类型啊,叫is table啊。Table啊,EXX啊,Exist啊,在这里面呢,我们需要写一个表格相关的一个信息啊,我们知道在I里面如果想确定一个表格的话,你需要填两个参数啊,一个是命名空间的名字,一个是表格的名字啊,它在底层调用的时候呢,是用冒号隔开,这个是shell的一个规则,对吧?Shallll是用冒号表示的啊,那在API里面呢,肯定是用两个参数表示的,那我们要把这两个参数呢,给它填上叫string。
01:04
Namespace逗号啊逗号,然后再填一个three叫table name。对吧,好大括号过来,那这就是我们这个当前的一个方法了,叫判断表格是否存在一样的规则,我们写完方法之后呢,先写一个文档注释啊,这叫判断。表格是否啊,是否存在啊,不要觉得这个方法那么简单,我一看就知道它是什么了啊,你今天看知道,明天看可能就不知道了,一定要写一些注释对吧,便于你去识别啊,用起来呢,也更方便一点。命名空间的名字写上啊,命名空间名称啊,这个呢叫表格。名称对吧,返回值呢表示true。T啊。表示存在啊。好,True表示存在对吧?嗯,False表示不存在啊,好,这是我们写的对应的一个注释啊,注释完之后呢,接下来就开始写这个方法了啊,这方法呢,没有大家想象的这么复杂啊,因为me里面也有对应的啊,判断表格是否存在的这么一个方法啊,所以我们的操作步骤呢,跟上面的create name space差不太多,第一步也是获取adin。
02:15
好,对应使用这个连接啊,都是一直用一个连接啊,Get ain啊,点Y返回得到这么一个ain啊,同样道理呢,这个异常我们还是不对它,先不对它进行处理啊,最后再来统一处理啊。好获取完之后呢,第二个就可以直接使用对应的。啊,使用方法吧,哎,使用方法判断表格是否存在就可以了,奥密里面呢,是有对应的一个方法的,就叫。Table exists啊,表格是否存在直接调用就可以了啊,我们的问题呢,还是在于它又让我们填了一个table name,这还是一个对象啊,还是一个对象,相对底层的API呢,都会使用类核对象呢来完成一个封装,不会说你使用起来这么简单,填一个字符串就可以了,我们还是要来研究这个table name,这个对象应该如何使用啊,我们本国本来的一个直觉呢,还是哎头比较铁对吧?哎,吃过一回当了,再来吃一回档啊,再来吃一回啊,再用一个table name好,现在呢,它好像给了我们一个迷惑性,你只要填一下参数就可以了啊,实实上呢,你点这个table name啊。
03:25
点这个table name啊,你就不要去尝试了,它还是一个私有的啊,这构造器呢,还是私有的啊,相对比较底层的代码都是这样的,它会封装的权限呢,比较死,让你固定使用几个方法,这样呢能减少各种各样的一个bug啊,所以呢,它不让你直接去用啊,不让你用底层的一些东西,它让你使用固定的一些方法,它这个地方呢有注释对吧,说你不要去使用这个东西,它私有了,你使用谁呢?去看相关的一个链接,叫value of by中括号,哎,啥意思呢?你去调用value of这个方法就可以了,我们CTRL加F12这个table name里面啊,就会有对应的方法,就叫做value of,看到没有就叫value of啊,那这个呢,是一个public的一个方法,我们就可以调用到了,并且它是一个静态的。
04:12
用起来很方便,也不用用对象对吧?好,那就是table name.value of,然后填一个东西就可以了啊,我们回到这边就知道了这个table name如何去使用了,我们可以直接写到这个括号里面啊,没必要再写到外面了,叫table name。点value of,这个value of里面能填的东西很多啊,能填的东西很多,你可以填BY,对吧,你可以填BY的一个,呃,这个数组啊,可以填BAT数组,也可以填字符串,这个优势我我觉得大家肯定都能想象到,那肯定是咱字符串更加方便一点嘛,那如果是bad数组的话,你还要对它完成一个类型的转换,对吧?填字符串那不就更方便一点嘛,所以我们直接填字符串就行,先填name spaces as spring,再填callli fair asream,那就是对应的命名空间名称和表名,你直接填就行啊,叫names spaces逗号。
05:06
啊,Table name好,一填它就会得到对应的一个table name啊,得到对应的table name好,得到table name之后呢,对应的他也能够获取,哎,判断这个表格是否存在,那这里就不能够说直接分号了,你需要点Y返回接收这么一个布尔类型。对吧,接受这个贝尔类型,最后的时候呢,你需要去返回贝尔类型啊,叫返回结果。啊,这个B。啊,瑞特这个B对吧,瑞特这个B啊,那如果你这样写的话呢,它其实有一点问题啊,有点问题啊,你返回完了之后,你再往下写,是不是代码就不能生效了,对吧?Return后面的代码就没有用了,对吧?哎,后面的代码不能生效啊,写到return后面肯定不行,但是我们还是要有一个东西要写的,我们要写关闭连接对吧,它有一个ain.close关闭连接,你看关闭连接还没写呢,你就直接return了,肯定是不行的啊,肯定是不行的,所以这个关闭连接啊,你应该写到return的前面,对吧,要记得先先关闭连接啊。
06:13
关闭admin。啊,叫in。点close关闭完之后再返回这个B就可以了啊,那这个代码呢,就是这样去写的,就这么简短的几行啊,简短讲好,现在这个写法呢,它是没有经过一个异常处理,那我们呢,已经有经验了,直接来进行异常处理就可以了,还是一样的规则啊,判断表格是否存在应该是你自己的一个问题,所以你应该给他捕获起来,而获取连接这些东西呢,应该是连接的问题,对吧,我们可以给它抛出去啊,可以给它抛出去,让外面的人呢,让调用你的人来保证这个连接呢,是没有问题的啊好,那这里呢,我们来写一下对应的规则啊,这叫拆开启补货啊,拆开启补货,那对应这个地方呢,我们给它。抛出去啊,可以看到这个。
07:01
它会我们给我们自己设定一个方法啊,因为布尔类型呢,没办法为空,它首先让它等于false,然后呢,让它在TRY里面进行一个复值复制完之后呢,去给它关闭掉哎就可以了,关闭掉之后呢,返回这个B就可以了啊,这是我们完整的一个代码编写啊,代码编写完之后呢,我们可以来测试一下啊,其实这个地方呀,它这个异常是什么还真的不好猜啊,它好像没有一些我们常见的一些异常,叭方说表格这个啊,命名空间名不存在啊,其实很容易想象到,就是会不会说命名空间名也不存在,毕竟它没有判断命运空间不存在对吧?啊,咱们可以来试一下啊。好,往下来。嗯,写到这个地方,这叫测试啊。判断。表格是否存在啊,叫is table this,在里面填一个命名,空间里面加一个表明,咱们先来判断一个存在的啊,叫big。Date啊,写反了,Date date啊,呃,对应的这个地方写上一个逗号。
08:04
逗号写上一个表名,那具体有什么表呢?你可以先来这边查一下啊,叫list,这里面有big data student和big data person啊,咱们就搞一个student。好点完返回呢,它会得到一个布尔类型,咱们就不让它返回了,太麻烦了,直接输出输出这个布尔类型对吧,看一下它是否存在啊,看一下它是否存在,上面这个方法你用完之后呢,可以适当的给它注掉啊,不然多跑一次也比较费时间啊,我们给它注掉。直接来判断啊。这个判断表格是否存在啊,作者写的API呢,还是比较全面的啊,可能大家能想到,如果是不是说嗯,他判断命名空间也不存在,就会报一个异常呢?哎,其实不会的啊,等一下给大家演示一下就知道了,你如果这个表格存在的话呢,它会毫无疑问的去给你返回一个处。对吧?哎,然件数啊,如果你这个地方命名空间也不存在的话,你比方说多写一串数字,这个命名空间在我的h base里面是没有的啊,它一样不会报错的,它会给你返回一个false,因为对它而言,命名空间和表明是共同来进行限定的啊,所以呢,你只要有一个不存在,它只会给你返回一个false,它不会给你报错的,那你说他会什么地方去报错呢?啊,这个你就不用管了,人家在设计方法的时候呢,是按照一整个体系来设计的,那有的呢,像呃,创建命密空间这种已经存在了,它会报一个显而易见的错误,对吧?像这种呢,没有啊,没有呢,它就给它放在那儿了,它只没有添加内部的一个异常而已啊,你就给它捕获掉。
09:35
都可以了啊,按照统一的格式来流程化处理嘛,啊好,它会返回一个false啊,这就是我们这个API判断表格是否存在的一个编写。
我来说两句