00:00
好,那我们下载了买be体之后呢,我们来看一下它和其他持久化层技术的一个对比啊,首先咱们先来看GDBC啊,那大家都能发现的一个问题就是circleq语句是夹杂在咱们的Java代码中的,耦合度高,导致硬编码内伤,咱们接着往下看啊,这个维护不易,且实际开发需求中烧口有变化,频繁修改的情况多见。那也就是说呀,然后因为我们当前的SQ器是直接写在Java代码中的,而大家都知道咱们的Java项目以后要打成架包,而我们的外部工程咱们是要打成袜包的。那所以说大家想想,如果我们使用的是硬编码,然后也就是说把SQG直接写死在了Java代码中,那我们的Java代码咱们需要先编译,然后再执行,然后再打包,对吧?然后这个时候大家想,如果我要进行一个SQL语句的维护,那这个时候我应该怎么做?那我们是不是只能去改变源代码,然后去修改源代码的方式,然后去修改这个SQ尾句,改完之后我们还需要重新进行编译,重新进行打包,然后再去执行。
01:10
所以说这个过程呢,就会变得非常的复杂。然后下面咱们再来看一下,代码冗长,开发效率低,那这个大家应该深有体会,要不然我们也不会自己去封装GDBC的工具类,对吧?好,然后第二个呢,是哈巴类和GPA,那这个大家好多同学可能都没有经历过啊,没有使用过,那大家呢,就简单了解一下,首先呢,它的操作简便,开发效率高。操作是相当的简便,开发相当的高啊,开发效率相当高,为什么这样说,因为harber net呢,是一个全自动的持久层框架。咱们在使用harber net的时候啊,你只要把实体类,只要把我们当前咱们的配置文件创建好,大家会发现表你都不需要建。然后SQ语句我们也不需要去写,我们只需要干什么来调用方法,就能够自动生成SQL语句来实现相对应的效果。
02:06
但是呢,它的优点很明显,它的缺点呢,也非常的明显,就比如说。咱们在执行一些比较简单的circle语句的时候啊,Harber net确实可以实现,但是如果我们要来实现的是一些长的难的复杂的circle,那这个时候我们就需要绕过框架,然后自己来写这个circle口L语句了,而harber net在处在对于我们自己写的circle语句的执行的时候呢,它是非常非常麻烦的,它是不推,我们是不推荐大家这样去写的啊。好,然后内部生成自动生成的circleq,不容易做特殊优化,那当然呢是harber net自动我们生成SQL语句,那他们帮助我们生成的是什么,那我们就执行什么。好,基本基于全映射的全自动框架,大量字段的pogo呢,然后进行部分映射时比较困难,因为从harber net的角度来说呀,当我们去实现一个增删改查的时候,其实大家会发现你操作的呀,它并不是表它操作的是实体类。
03:07
所以说我们就要要求实体类跟咱们的表里面是需要完全进行映射的,每一个字段跟属性面必须要一致好,所以这个时候如果咱们有大量字段的一个po po,但是我只需要进行部分映射,那这个时候就比较的麻烦。反射操作太多,导致数据库性能下降。那大家都知道咱们的框架里面大量使用到了反射,特别是哈net中,因为哈巴ne里面好多的操作它都是自动完成的,所以说呢,反射操作非常的多,那这也导致了我们的数据库在实现功能,在操作数据,查询数据的时候,它的性能会有所下降。好,然后my be,大家再来看它的一个特点啊,轻量级,性能出色,Circle和Java编码是分开的,功能编辑清晰,哎,大家注意,这个特点非常重要。
04:00
因为在买杯体子中啊,然后我们有两种方式来写S去,一种是注解,一种是查苗,那我们在讲它的特性的时候,咱们就说了,咱们本课程中主要讲的是插苗的方式。那所以说这个时候咱们的SQ有句是写在叉ML中的,Java代码是和Java代码分开的,那所以说如果我们要进行一个SQ有句的维护,那大家只需要在XL文件中去修改就行,这个时候对于咱们的Java代码有影响吗?没有,所以说Java代码专注于业务,而咱们的SQ语句呢,专注于数据。好,然后再往下开发效率稍逊于harbber net,那这个是肯定的,因为harbber net中自动生成circle,而买be提里面的circle是需要我们自己去写的,所以说从开发效率上来说呀,然后他确实是比不上哈巴net,但是呢,大家注意这个问题我们完全能够接受,因为它的执行效率卡巴也是比不上的,这个大家要注意啊,好,然后呢,那所以现在买be呢,就是我们当前目前市场上,然后最流行的一个持久层框架。
我来说两句