00:00
好,那接下来我们来看第二个问题,叫做myabtes的特性,那myabes的特性呢?大家也可以把它理解为是myab的概念,那首先大家来看第一个my be是支持定制化circle存储过程,然后以及高级映射的优秀的持久层框架。那如果说我们把这中间这些描述的词呢,然后全部都给它删掉的话。大家会发现my beatt的本质其实就是一个持久层框架,那它的特点呢,首先它支持定制化circle,定制化circle的话,主要就是说我们当前的这个circle语句,它需要我们自己去写,不像是我们之前在买be体的之前呢,可能会有harber net这个框架,而这个框架里面的SQ语句呢,然后都是由框架给我们生成的,那所以说呢,我们在进行SQ语句的维护的时候就不是很方便。那所以说在my be里面所有的circle去都是我们自己写的啊,这个大家注意,那当我们去维护这个circle的时候,咱们就可以根据我们自己的一些需求,然后呢,去定制我们当前的circleq去,好还有呢,就是咱们的存储过程啊,以及高级映射,存储过程的话是我们在MYSQL高级咱们要学习的内容,而这个高级映射,那什么叫高级映射,有高级映射那就有普通映射,比如说呢,我们之前咱们在学习GDBC的过程中,我们自己封装的GDBC工具类,那每当我们从数据库中把数据查询出来之后,然后我们是不是都会根据反射,然后将它对应我们当前的一个实体类对象。
01:41
但是呢,我们的要求是我们的字段名跟我们实体类中的属性名必须得保持一致,否则的话,他们两个是映射不了的,那所以说这个呢,就是我们当前默认的一个映射,普通的一个映射,当字段名跟属性名一致,那我们当前就可以将我们查询出来的数据,然后去映射成我们当前的一个实体类对象,然后必须要保证字段名跟属性名一致啊,那什么叫高级映射呢?比如说我们有些情况,然后我们当前实体类中的属性呢,然后咱们通过数据库呢,通过咱们的SQ语句,咱们是查询不到的,就比如说我们一对多的关系,多对一的关系,那我们的一对多的关系,咱们的表和表有关系,那我们的表对应的是我们的实体类,咱们的实体类和实体类之间也要有关系。
02:33
比如说我们如果说对应的是一,那我们就需要在实体类中设置一个一的对象。而如果说我们要对应多的话,我们就需要在这个实体类中设置多的集合。好,然后所以说我们通过咱们的circleq去查询出来的数据,是没有办法直接去对应一个对象,或者说对应一个集合的,那这个时候呢,咱们就需要通过my be中的高级映射,也就是咱们的自定义映射来处理这个问题了,这个大家注意啊,好,然后再往下my be避免了几乎所有的GDBC代码。
03:08
和手动参数设置,然后以及获取结果集,那什么叫避免,避免的话,那是不是就是说我们在使用买be的过程中,我们是不需要自己去手写GDBC代码的,我们也不需要自己手动去设置参数,我们也不需要手动去获取结果期,那换句话来说,My be封装的就是咱们的GDBC,所以说JDBC代码咱们不需要写手动设置参数,那这个指的是什么?那想必大家应该都知道,我们在JDBC的过程中,然后我们是不是会有这个像我们的预编译对象所对应的SQL语句中,然后去拼接参数的这个过程,对吧?好,然后在my be中呢,它就给我们提供了两种方便的方式,然后可以帮助我们更快速的去设置我们当前SQ尾句中的参数,然后来拼接咱们的SQL语句。
04:04
还有一个呢,就是结果集啊,避免了几乎所有咱们获取结果集的代码,那所以说每当我们通过my be咱们去查询出来数据,我们就可以直接通过my beat的功能,然后直接将咱们所查询出来的结果及去对应我们当前的一个实体类对象,所以说咱们的my beat呢,大家注意,咱们用了之后,然后呢,My beat有自己的规则,我们只需要按照my beat的规则呢,然后就可以非常方便的去实现我们连接数据库,访问数据库以及操作数据库的过程。好,然后my be可以使用简单的,然后或注解用于配置和原始映射,好,首先大家注意,然后先来说一下什么叫差名或注解用于配置和原始映射,这一句话主要说的是my be中,我们要想来实现一个S口语句的执行,那我们是有两种方式的,第一种咱们可以把这个S口L语句啊,然后写在我们的叉叉ML文件中,然后第二种方式呢,咱们可以把这个S口L语句以注解的方式,然后写在我们的一个接口里面,是有这两种方式的,但是呢,咱们以后用的比较多的啊,是咱们的插描的方式,我们以后我们这这咱们这几天的课程呢,我们也主要讲的就是叉L的方式。
05:27
好,然后再往下的话,就是咱们的my be,它可以面向接口编程,你像我们之前咱们在写dau的时候,咱们会有dau的接口层,我们会有dau的实现类,但是咱们的my be中直接为我们提,直接为我们提供了面向接口编程的功能,也就是说我们现在咱们的DAO,你只需要有接口,而不需要有实现类,我们只需要使用买杯体层的功能,就可以在调用接口中方法的时候,让它直接去对应我们的一个SQL语句,并且去执行。
06:01
这个大家注意啊。好,然后将接口和Java中的PU对吧,然后映射成数据库中的记录,那其实这一句话呢,大家注意说的就是咱们的my be去操作circle的一个过程。好,OK,然后再往下的话,My be是一个半自动的orm框架,首先半自动,那有半自动,那就有全自动,对吧,还有手动,所以说这个其实指的就是我们在这个持久层框架发展的过程中,对吧?首先咱们来学习的是GDBC,这个就是纯手动,因为所有的过程都需要我们自己去写,而咱们的买be呢,是半自动,它把我们GDBC实现功能的过程大部分都进行了封装,但是像circle语句啊,像这些东西的话,还是需要我们自己去写的。而我们的harbber net框架呢,大家注意,它就是一个全自动的持久层框架,因为咱们的harber net,然后所有的东西都不需要我们自己去写,大家只需要把配置文件给配对了,然后我们去运行,它就可以帮助我们去生成表,然后可以帮助我们去生成相对应的circleql语句,所以说它是全自动的。而咱们的my be,因为。
07:16
The后就需要我们自己去写,然后呢,我们也可以自己去处理咱们的这个映射关系,所以说呢,My be里面大家注意在这儿呢,它是一个半自动的持久的框架,那在这儿还有一个概念叫做orm,那什么叫OM呢?O指的是object,然后R指的是relation,然后呢,这个M指的是mapping,叫做对象关系映射。对象关系,映射对象指的是我们Java中的实体类对象,而这个关系指的是我们的关系型数据库,Mapping呢指的是映射,那所以说我们从这三个单词里面我们就能够想明白对吧?然后OM到底是干什么的,其实就是将我们Java中的实体类对象和我们关系型数据库中的这些数据来创建映射关系,大家都知道我们现在是要通过Java程序去操作我们的。
08:11
这个关系型数据库中的数据的,那所以说如果我们现在能把我们的这个实体类对象和数据库中的数据来创建映射的话,那我们在操作数据库中数据的时候,那是不是就可以直接通过它所映射的实体类对象来进行实现,所以说呢,Oimm什么意思?其实就是将咱们的实体类对象和我们的关系型数据库中的数据创建映射关系,每当我们在操作咱们的数据库中的数据的时候,就像是操作的实体类对象一样简单,OK啊好,那这个是咱们的买体的特性。OK。
我来说两句