00:00
就是下面啊,咱们把这个流程,我们最终给他就测试一下,看一下最终的过程怎么样的,那首先第一个啊,你要测试嘛,这can必须先给它启动起来,因为刚才我应该是关掉了,我给它现在启动一下啊,咱就用这个脚本命令start。up.sh把这个先启动,然后启动之后看一下它那个进程,你看上面这个这是can动啊,注意启动之后看一下啊,可能没启用成功,他应该没这个进程,启用成功之后它会有这个进程,现在我们就启动了啊,然后启动之后,我们现在把我这个就是本地这个项目启用起来,因为咱们做的这个监控就是监控远程库中变化,有客户端有这工具,咱现在用端口号是这个1万。啊,就是我们刚才特别加一端口号,然后现在把这个canon给它就启动一下啊,咱做个启动。那我们等它启动啊。呃,那启动呢,呃,这样我这么来做啊,咱现在呢,用那个debug方式启动,因为用debug之后呢,咱更好能看到它的结果啊,那我重新换一个啊,我换一种方式,用debug方式就是这个。
01:12
用它启动,然后启动之后我给他加上几个断点,咱通过debug来看一下它这个执行过程,就让各位更好理解它这个流程怎么样,就是我们这个代码流程,现在啊第bug启动了,然后我在里边加上几个断点。再加一下啊。然后他加的位置肯定是在咱的乱方法中,上面的就不加了,咱就给它加到这个位置啊。大家看到啊,这个位置刚才解释过啊,如果说你S的是零,表示你的远程库中没有变化,有变化是不是它不等于零大于一就大于零大于等于一啊,所以咱们这个方法叫date handle,然后这个方法在下面,下面有它不能操作,也是添加,是修改说删除,比如咱一会儿是个添加,我在添加中加上这么一个断点。
02:02
然后添加之后,它里边会做这个语句的一个拼接啊,那我就在做方法这这个位置加上一个断点啊,一会咱们看这过程,然后这做完之后,最后我们肯定是做一个直行,按照直行这个位置。就这里啊,然后他执行我们的语句,包括执行之后最后调这个XCQ的方法,做这个最终操作啊,所以我在这个里边加了很多的断点,咱们一会儿就看一下它的执行过程到底是怎么样的啊,通过比坝方式我们来看一下啊这个过程。那下面咱来测试啊,怎么测试呢?你看啊,我现在本地库中没有东西吧,而我这个远程库里边,比如咱给他先连上啊,买circle-u root。杠P。Root,把这连上,我们用这个叫做鼓励。啊鼓励,然后里边有它那个数据库,就是show table这个数据库这个语句啊,Select星from members。
03:09
现在在你的本地库和little中,这里边是不是都没有数据啊,那我们下面怎么做呢?比如这么来做啊,我在这个远程库,也就是Li中啊,这个买so中,咱向里边加一条数据,如果效果正确,我本地库中也会同步添加,就来是这过程,这过程就叫数据同步,那咱给他手动加一条数据,我就写一个insert语句。咱写一下啊,Insert into加上咱的表名称就是members。Me?BS,然后加个values,里边加上值,因为咱们有三个字段,第一个ID,比如来个一,第二个用户名,我就写个Lucy,第三个age,我写个20,然后写完之后,现在我一回车A数据是不是加到表中,那我们试一下这过程怎么样啊?如果说效果正确,那我本地应该能监控到咱那d bug应该会执行,那我E回车。
04:13
咱看我本地大家看效果d bug是不是倒立行,因为你现在size值它大于这个零了,表示里边有数据啊,那咱往下执行怎么执行呢?我们点这个按钮啊,绿色按钮就这位置,点绿色它就到下一个断点,你点它一步执行啊,那我们点绿色到下一个断点,看这方法中怎么做的,我点它。到这位置啊,大家看在这个方法里边,我们做的事情就是判断你是做哪个操作,你看这个操作insert是不是添加呀,咱当前做的是添加,然后下面就用这个方法叫c insert circle,我们点绿色这个按钮,它到下一个断点。是不进来了,然后大家看啊,这里边做什么,就是拼语句,那我点它咱一步执行啊,先执行几次看结果,你看现在在循环便利在执行,然后执行之后每次都放这个叫。
05:09
这个叫circle里面去啊,那我们看这个circle这个变量大家看啊,这里边是什么,你看这个是不是就是insert into members加这个语句啊,只是他拼了一部分,然后再给他拼接完,这里边会依次给咱们做拼接啊,他把语句就能给你拼接出来。然后拼接之后呢,在这位置中,他把这个就是放到咱这个队列中,你看队列现在等于零,往里边一放,它指数就变成一,然后放完队列之后,它继续往下执行啊,那我们给他到下一步,下一步执行就是到咱们这方法中,就刚才我们看到的队列值是一。一就表示里边有语句,那我们执行语句。点绿色按钮,下一个断点是这个位置,你看这里边啊,怎么做到咱一步执行啊。先得到size,如果S大于零,那我们就变立,变立之后这破方法表示从队列中取出值这四口你看啊。
06:09
是不是给咱拼的错误语句,然后拼完之后,咱们下面再定这个方法,那我们来执行,就是把它加到咱的数据库中啊,那我们义步执行,用这个DB us得到数据源,然后new对象用exic code做个执行,最终这个就可以了,然后现在我们就做到了啊,包括大家看我这里做了两个输出,第一个拼接的思语句就是insert这个语句,然后第二个影响的行数是一,然后现在咱看表里边我刷新。大家看数据是不是加进来了,这个数据不是我刚才手动加的了,是我通过程序,这个过程就是远程库中的变化,然后咱通过客户端工具把数据是不是加到里边来了,这个啊我们就做到了,所以这个过程就叫数据同步,远程库中有数据添加,本地也会跟着添加。
07:06
啊,这个啊,咱们就做个实现,然后实现之后,比如下面啊,我们再来试个效果啊,咱试一个修改的效果,我把记录给它改一下。就现在啊,我先查询,假如我这么做啊,我来一个。Update。Update,加上咱的表明member。然后加个set,比如这个叫username,它之前叫Lucy,咱改个Mary,再来个条件,ID等于一。各位看到这个是不是一个修改语句啊,然后现在我一执行咱们看一下啊,这是不是又监控到了,然后咱往下啊,我就给它快速执行过去了啊,到里边,然后这个位置最终执行咱看表中的变化。大家看啊,表里边。变成什么,是不是就marry他就做了修改,包括你做删除跟他一样啊,那比如说咱也删一个啊,我来一个啊先查询一下。
08:03
这个我写一个delete from,加上咱的表。然后来一个where ID等于一,这是删除,当咱们以回车,咱们看这里边也是监控到了,然后执行过程刚才一样啊,就是现在做的是删除,包括拼接,最终咱看表里边刷新。是不是就没了这样的话啊,当我远程库中做添加就改删除,我本地库中会跟着它发生变化啊,这个啊,我们就完成了这么一个演示,大家啫理过程啊,所以咱们做到了啊,而这过程中主要你需要在lino中做这些软件安装,然后在本地写专一段代码啊,然后他也会做到同步,但有这么几个细节,各位注意啊,我再重步第一个细节。你远程库的名字和数据库表名字跟本地库名字表名字必须要一样,它根据名字做匹配,我这都叫鼓励members啊,用这个做测试,然后第二个就是你在就是改那个can到中的配置文件的时候,这个数据库的用户名要特别注意,这些用户名需要有远程连接的权限,就是默认root是没这个权限的,不要觉得root都有,Root默认只能是本地连接,需要你做个修改,或者说你按照我的过程重新创建。
09:24
或者说各位之前创建用过你之前创建好的用户啊,用这个特别注意一下,主要这么两个细节,各位给他注意啊,所以咱们现在过程就点出来了,就是咱们这么一个完整的流程啊,关于这个看数据同步工具的一个最终的一个测试。
我来说两句