00:00
好,然后咱们刚才进行了my beat的下载,然后下面呢,大家来看下一个问题呢,是my beat和其他持久化层技术的一个比较。首先呢,第一个是GDBC啊,然后第二个是咱们的harber net,然后和GPA,然后还有一个呢是买be,然后大家注意啊,然后咱们下面的这两种技术呢,然后其实封装的都是GDBC,那首先咱们先来看一下GDBC啊,Circle口加杂在加Java代码中,然后呢,它的耦合度比较高,这个时候呢,我们的SQL语句,然后和我们的Java代码的关系就非常的紧密,导致呢硬编码内上,因为我们的SQL及都是写在Java代码中的,而我们当前咱们在运行项目的时候,对吧?然后我们用的都是这个点class文件,那所以说我们现在如果要想来对我们的CIRCLEQ5句来进行维护的话,那我们是要去修改我们的源代码,然后并且需要再次来进行编译,然后才会有相对应的效果的,所以说呢,大家注意硬编码就是把咱们的代码给写死,然后这个时候我们再进行维护的时候啊,然。
01:11
然后就非常的不方便啊,然后呢维护不一,然后且实际开发需求中咱们的circleq有变化对吧?频繁修改的情况呢多见,这个其实就是我们刚才说的硬编码,然后呢维护呢不方便,然后并且咱们的SQ去并不是说我们写完之后呢,然后它就不会发生变化了,然后咱们以后呢,对SQ就可能会频繁进行修改,那这个时候咱们的硬编码呢,它的一个缺点就体现出来了啊。还有呢,就是代码冗长对吧,然后呢,我们JDBC的过程虽然说呢也不多,但是如果每一次我们都需要去把JDBC所有的过程都写出来的话,那这个过程呢还是非常的麻烦的,所以说呢,它的开发效率呢比较低,好然后再往下harber net,然后和GPA。
02:01
好,然后他的操作是非常简单的。而且呢,开发效率呢,也非常的高,就比如说咱们的harber net呢,然后大家注意这个框架,我们在之前咱们在讲my be的这个特性的时候呢,然后咱们说了。My beat是一个半自动的持久层框架,对吧?然后呢,Harber net就是一个全自动的,因为harbbert呢,它不需要去写circle口L语句,每当我们去调用相对应的方法,然后它就可以自动将我们的SQ语句给生成出来,所以说它的开发效率是非常非常高的啊。然后程序中常难复杂的S狗需要绕过框架,因为我们的哈ber net中,如果他来处理一些简单的增删改查的话,其实还可以,但是如果是一些比较复杂的一些circle口的话,大家注意咱们的框架呢,就可能实现起来比较麻烦,然后我们可能就需要把这些功能呢绕过框架,然后不通过框架来实现啊。好,然后内部自动生成circleq,不容易做特殊优化,然后基于全映射的全自动框架,因为在咱们的harber net里面,然后我们在进行一个这个数据的一个查询的时候呢,然后其实我们并不是从表里面。
03:16
去查询,然后我们的语法是从实体类中去查询,所以说呢,然后它是基于全映射的全自动框架,然后每当我们去查询一张表的时候,我们都会将我们当前这些所有的数据,所有的字段全部都查出来,所以说大家来看大量字段的pogo进行部分映设施比较困难,也就是说如果我们当前咱们的一张表里面的数据非常的多,字段比字段非常的多,而我们现在呢,只需要去查询其中的某几个字段的话,那咱们的harber net呢,那这个circle去可能就需要你自己去写了,如果你使用默认的功能,它是会将我们所有的字段全部都查出来的,这个大家注意好,然后还有就是反射操作太多,对吧,然后导致数据库性能下降。
04:07
首先呢,Harbernnet里面用到了大量的反射啊,然后所以说大家都知道反射虽然说我们在实现咱们在学习的好多框架里面呢,它大部用到了好多都是反射的功能,但是咱们的反射呢,然后它毕竟呢,然后不是直接去操作我们当前的某一种类型,而是在运行时去操作某一个类型啊,所以说呢,然后反射功能太多的话啊,然后是会影响我们当前一个程序的一个性能的啊好,然后再往下MYV对吧。首先它轻量级,然后呢性能出色,然后circle和咱们的Java编码呢,然后它们两个是分开的,然后在我们的my be中,咱们有两个配置文件,第一个配置文件就是核心配置文件,第二个呢是映射文件,而映射文件就是专门来编写咱们的SQL句的,哎,这个大家注意,然后功能边界呢比较的清晰,然后Java代码专注于业务,而咱们的SQ语句专注数据,所以说他们各司其职,然后开发效率呢稍逊于harber net,但是完全能够接受,因为咱们的harber net它可以自动生成circle,但是咱们的my be所有的circle都需要我们自己去写,当然了这其实也是它的一个优点,因为circle句如果如果是我们自己去写的话,然后我们在维护的时候就分就方便很多了,这个大家注意啊好。
我来说两句