00:00
好,那下面咱们来学习一下买be斯的逆向工程啊,这个东西大家应该都很喜欢啊,其实它的本质就是一个代码生成器啊,它能够帮助我们去生成一些对吧,相关的一些代码,就比如说呀,然后咱们有了逆向工程之后,咱们只需要先把表创建出来,然后它就会自动根据咱们的表帮助我们来生成实体类map接口映射文件。哎,好,那为什么它是逆向工程呢?因为这里面的正向工程说的是什么?大家注意要先创建一个Java实体类,然后由框架去负责根据实体类生成相对应的表。harber net呢,其实用的就是正向工程,而逆向工程里面呢,咱们需要先创建表,然后由框架负责根据数据库表反向生成我们下面的这些资源,就我们刚才说的这几个OK吧,行,那下面呢,我们就把这个东西来写一下呗,首先大家注意咱们在这再来去new一个module,咱们新创建一个工程。这个工。
01:00
工程叫做my be,然后下划线叫MBG啊,为什么叫MBG,因为逆向工程叫my be generator知道吧,所以说咱们简称MBG,然后com.at硅谷点买be OK啊。行,那我们首先呢,咱们先把咱们需要用到的依赖呢给复制过来,然后它的打包方式为架包,然后下面这是它的依赖,大家注意,这里面咱们还需要用到一个插件,就是逆向工程的插件啊,咱们导入更新大家来看啊,首先呢,这是my be的核心价包,这是几unit的,这是logo for g的,然后这个是什么?这是我们当前呢,然后咱们所需要用到的一个插件,这个插件叫什么插件叫my be逆向工程的插件,然后这个插件呢,它又依赖于谁?My be逆向工程的核心价包,还有咱们my circleq的驱动,因为大家想嘛,咱们说的啥叫逆向工程,是先根据先创建表,再根据我们所创建的表去生成实体类,去生成map接口,生成映射文件,所以说大家想一下,那我们当前你肯定得先连连上数据库,是不是才能获取数据库里面表的这个信息,再根据它的信息去生成相对应的内容,对不对,这样。
02:17
的啊,所以说这个大家看好啊,行,然后呢,下面呢,我们再进行咱们的下一步操作,我们需要干嘛了,咱们需要来创建一个买be的核心配置文件,当然这个东西跟咱们的逆向工程它没有什么这个关系啊,然后我们现在呢,咱们创建核心配置文件是一会儿我们需要去这个测试咱们的功能,才需要这个创建核心配置文件的啊好,My be。然后杠con。点查苗,咱们就把它给放到这儿,然后再往下,咱们需要来创建。逆向工程的核心配置文件大家注意叫什么啊,名字是固定的,叫generator convi,点叉L,然后下面咱们再把这些东西呢,然后都给它复制一下啊,然后放在我们当前咱们的这个配置文件中,大家注意啊,咱们主要把这个配置文件讲一下啊,然后这个东西爆红,这个无所谓啊,咱们接着往下看,这是它的跟标签叫generate configuration,然后再往下呢,这里面有个子标签叫做context,这个ID的话叫DB two tables,然后再往下,这有一个target runtime什么意思,这是我们当前咱们的目标的运行时的一个,就逆向生成的这个向工程的一个版本啊,大家注意,然后在这咱们有两个选项,一个叫my bet3simple,一个叫做my bet3my bet3simple呢,大家注意它生成的是基本的增删改查的功能,然后也叫做清新简洁版,因为里面的功能比较少。咱们的map接口里面一共就。
03:54
增删改查的那五个方法,老师,增删改查不是四个方法吗?怎么会是五个呢?大家想吗?增删改这是三个,然后还有查询所有数据的一个,还有咱们的修改是要先回显再修改,那先回显那我们是不是就需要先查询出来,所以说五个方法分别是增删改,还有查询单个数据。
04:17
根据ID查询单个数据,还有查询所有数据啊好,那我们就先来看一下它的清新简洁版,然后后边咱们主要来讲一下它的奢华尊享版啊行,下面大家再来看数据库连接信息,对吧?然后我们在这需要来设置一下我们连接数据库的信息,因为你只有连上数据库,咱们刚才才说过对吧,你只有连接上数据库,咱们才能获得数据库表的信息,通过它来生成相对应的内容,这是咱们的驱动,这是我们当前咱们连接地址,把它给改了,改成是SSM,因为咱们当前的数据库名字呀,是不是就叫做SSM,对不对,然后再往下用户名密码,OK,再往下叫做Java bin。
05:00
的生成策略,就是我们的实体类的生成策略啊,首先大家看它所生成的包,Com点艾硅谷点买点pugo没问题,这就是我们需要的包。然后再往下target project,也就是我们当前要生成到哪个项目中呢?大家注意,咱们要把它给生成到当前工程的src下面的慢下面的加va下这个点啊,大家都知道相对路径中有点和点点点表示的是访问当前目录,点点访问的是上一节目录,OK吧,好,再往下,在这是否能够使用子包叫做enable sub packages是否能够使用子包可以使用,你如果设置为处,那我们当前咱们的这个包名啊,然后咱们的每一个点,大家注意,它都是一层一层的目录,而如果说你在这设置成false的话,那咱们当前的这个包,这个点只会来作为一个目录的名字,知道吧,就是说这个点它就解析不了了,它就不会被解。
06:01
七层一层一层的目录了,知道吧,好啊。想再往下,在这有个trim strings干嘛的?Trim是不是截取的意思,把我们当前,因为咱们当前的这个实体类怎么生成的,大家注意,它是根据我们当前的这个表生成的,你的表里面的字段是什么,那它所对应的实体例中的属性就是什么,所以说它就会把我们当前这个字段前后的这个空格给去掉,来生成相对应的实体类中的属性,知道吧,好,再往下,这是咱们的映射文件的生成策略,往哪生成com.ADD硅谷点MY.map没问题,然后生成到哪个位置resource之下也没问题,是否能够使用子包可以啊。然后咱们再往下看,大家注意,然后map接口的生成策略,对吧?往哪生成也是com.at硅谷点买map,然后生成到哪,然后咱们的src下面的麦下面的Java下没问题,能否使用子包可以啊好,再往下,大家注意这个时候咱们最终呢需要来设置两张表,就是我们当前需要逆向分析的表,Table name设置的是表名,然后这个do my object name,大家注意这个来设置的是我们当前咱们的什么呢?这个设置的是我们当前咱们的一个实体类的名字,然后当我们把它给设置完之后,咱们的map接口以及映射文件都会根据它来起名。
07:26
OK吧,什么意思?比如说我们当前咱们的这个是咱们要逆向生成的表,那它所生成的实体类就叫emp,它生成的映射文件就叫EP map生成的map接口呢,也叫EP map。OK吧,这个大家注意,那行,那我们把配置文件配置完成之后,下面呢,我们再来找到咱们的maven,因为我们是配置了一个插件,所以说我们是需要通过插件来生成咱们的逆向工程的。那这个东西该怎么去做呢?大家看好。找到咱们的my bet_MBG来找到这里面的plugins,然后大家会发现这个地方就多了一个my be-generate的插件。
08:07
咱把它给点开,然后在这呢,咱们直接双击就可以啊,大家看好了,我们现在咱们来一个双击。好,OK,然后大家看build success什么意思,叫做构建成功,然后我们下面把咱们当前咱们的这些Java,对吧?咱们把它给打开,大家会发现,诶,里面就有了相关的一些内容,比如说这个是什么?咱们的映射文件所在的包,然后这就是我们当前所生成的这两个映射文件,再往下的话,Pogo里面生成的是实体类map map包下面生成的是我们当前的这两个map接口。大家看非常的方便,也非常的简单,大家只需要来配置一个插件,然后再把我们当前咱们的买杯提的这个逆向工程的这个配置文件来配置一下就可以啊,OK,那我们下面呢,咱们简单的看一下吧,比如说这是拿着咱们的emp来说啊,大家看这里面,你看这是emp什么ID,哎,这就是一个非常神奇的一个问题,因为咱们说呢,你的属性怎么生成,是根据咱们的字段生成的,但是咱们的字段叫什么EP_ID对吧?好,所以说大家看你看它在这帮助我们生成实体类的时候,是不是就直接帮我们生成的是它所对应的驼峰的形式,OK吧,EP name,然后A级,然后这是金的,没问题啊,在这还有一个de pd_ID。
09:33
那有同老师,他会不会帮助我们直接生成部门所对应的对象啊,不会因为咱们的逆向工程啊。它也就是在我们操作单表的时候,能给我们提供一个帮助,但是如果你要针对一些比较复杂的搜狗,或者说我们要针对多表连查的话,大家注意啊,它是做不到的,所以说我们现在只能针对于单表来操作,当然这个呢其实也够了,因为其实咱们大部分的操作其实都是单表操作啊。
10:02
那下面呢,我们再来看map接口,Map接口里面咱们说了一共几个方法,一五个方法,大家看第一个delete by primary key根据主键来删除,下面这个来添加iner添加,然后再往下,这是select by primary key根据主键来查询,然后这个是查询所有。然后这个是update by primary key,什么意思叫做根据主键来修改没了,就这五个方法对应一套完整的增删改查,当然呢,这一套增删改查只能实现一个最基本的功能啊,好,这个映射文件大家想看的话就看一下,毕竟这是咱们的逆向工程生成的文件,你不要去怀疑它啊,它一定是没有问题的啊,除非是说大家怎么样,有的时候呢,我们可能感觉这个映射文件里面生成的东西不太对,然后你生成过一次之后,你又去生成了一次,你在没有把这些清空的情况下又生成了一次,可能这个时候它就会往里面去追加,所以说呢,大家以后注意,你如果逆向工程你需要重新生成的话,一定要把它上一次生成的内容给它删除掉,然后再重新生成啊,OK。
11:12
好,然后这个功能大家下去可以自己测试一下啊,然后这里面呢,这个呃,既然是逆向工程给我们生成的内容,对吧?比如说你看这是映射文件,大家看你看这是什么?这不就是我们的result map,这是不是,这是不是咱们的自定义映射呀,大家看一下,你看这是epad,然后这是它所对应的属性,这个是t d bc type,它指的是我们当前这一个字段的类型,OK吧,当然咱们说过这东西可不可以不写可以,但是既然逆向工程给我们生成出来的,那你把它给保留着就可以啊。好,下面这些S口语句大家应该都是能看懂的,只不过就是在这它的井号大括号里面,除了我们当前要获取的数据之外,他在这还写了一个叫gd bc tab,就是我们当前咱们的这个字段的类型啊,这个咱们也可以不用写,知道吧,但是大家看到了,你要知道它是什么意思啊,咱们从这个名字上就可以看出来,它来设置的是我们当前这个字段的类型,OK吧啊,这个字段的类型啊。
12:15
好。行,然后那我们把这个东西给它关掉,测试功能的话,大家下去自己测试一下就可以,那下面呢,我们就可以把咱们完整的买杯体的框架给搭建起来了啊,这是核心配置文件,咱们刚才创建创建的,那在这咱们的类型别名所在的包com点艾特硅谷点买be体点pogo,然后下面咱们的映射文件所在的包com.at硅谷点买点map OK这样就可以啊,还有就是咱们的各种配置文件,比如说呀,然后咱们复制一下。然后大家看好GDBC.proper的意思,Logg。点叉ML,咱们直接把它给放到咱们的resource下就行,然后当然呢,还有就是我们当前咱们的一个工具类叫做UU,然后把咱们的这个u so session u给它拿过来啊好,然后下面呢,那咱们刚才给大家来生成的这个逆向工程的版本呢,然后是清新简洁版,然后下面呢,我们主要来看一下这个奢华尊享版,咱们看一下这个东西该如何来用,同时呢,去测试一下它的功能啊。
我来说两句