00:00
好各位啊,我们继续来看啊,刚才呢,咱是把这个策略都配置好了,那咱们下面就开始编写这个测试方法,把这个水平分库的效果咱最终给他测试出来,然后咱们下面咱就具体写一下。那我们的写法就是呢,还是来到咱们工程中这个太子这个。包里边找到我们的这个测试内在里边我们就写上两个方法,一个是添加,一个是查询,然后验证出咱们的水平分库的效果,然后把咱们之前写这个我先加个注释,为了咱们特别趋下咱之前是测试这个水平。分表。做为这个啊,这是我们之前写的这个测试方法,然后咱下面。我们再来重新写这测试方法,我就给它写到我们的上边了啊,这个方法咱就来测试一下这个水平分库。
01:04
把这个功能做到,那这个做到的话,首先第一个咱先做一个添加操作,那我写一个单测试啊,咱来一个test public we,我就叫A的这个。DB啊,就是水平分库嘛,测试这个数据库的一个操作,然后在里边我们写这么一个添加代码,那添加代码比如这里边我就直接先写一个简单方法,然后一会儿咱再写个循环,这些方法跟咱上午写一个差不多,我把这个直接给他。复制过来,咱们快速改一下,首先new对象,然后在里边呢,我们加上一个名字,比如说叫Java啊这个。DEMO,然后下面注意啊,这个值很重要,因为咱们做这个分库就要根据你的user ID进分库,如果它是偶数,那我们加到我们的就是第一里边,如果是奇数加到D中,比如现在我先写一个叫100,肯定是偶数,最后有一个状态。
02:10
包括这个咱知行,然后这个过程中咱先分析一下啊,如果现在我添加ID是否偶数,如果说U是偶数,那我们操作肯定是DB1这个表,D1这个库,然后里面加数据,数据中根据我的CD,如果CD是偶数到COS1里边,如果是基数到COS2中,但是不管怎么样,肯定是操作DB1这个表,DB2表中应该没有数据啊,那我们下面把这个咱来试一下啊,看一下这个方法执行之后它的结果,因为咱是ID是100,是个偶数。那我现在执行,咱们先看一下效果是什么样的,就看能不能正常执行出我们想要的一个结果。等他执行。然后大家看啊,目前这里边没有报错,然后咱们看他那个数据的部分,各位看啊,这数据中呢,现在有100有这个ID,咱们看啊,目前操作的数据库。
03:13
是不是M1哦,也就是说我们操作D1的数据库,然后它里边因为赛D是奇数,所以它要放的是是不是COS2,比如说咱们到M1库里边的COS2表中能找到咱的数据,因为它目前是满足咱的规则,要各位能看懂啊,咱们的ucd是偶数,肯定会操作咱们的DB1,就是M1数据库,而你的cid这个C是奇数,它会到咱们的CO42的这个表里面去,所以咱们现在找到这里边扣四。大家看在DB1的COS2表里边是不是有咱们刚才加的这个数据就有了,帮你看其他表里边我点我点是不是都没有啊,它只在这个COS2里边有数据,就符合咱们里边的这么一个规则,所以咱们现在把这个九加进去了。
04:04
那接完之后,咱给他再换个数据,比如这个UCD换一个,我就叫这个,比如叫UUU。111是不是肯定是一个基数,那这样操作肯定操作咱的DB2的数据库。啊,那里边我的区分我都多个一。咱们来执行一下啊,看它什么样效果。把这个u cid改个值,然后看它最终能不能满足咱们的要求。我们把它执行,然后大家看啊,这里边它执行是正确的,然后咱们看啊,它操作是哪个是M2,因为咱是幺幺嘛,然后他操作是COS2表,因为这个ID也是奇数,所以咱们现在到DB2的COS2中。数据是有了,就是咱这个Java demo1啊幺幺这样的话完成了,咱们想的这种策略,就是根据我们的库先做个水平分库,根据UID奇偶数做判断,再做一个分表,根据你的cid的奇偶数做判断,最终放到你不同库的不同表里边,所以咱们目前这种效果做到了,就是水平分库和水平分表,它这过程都是咱们在这个。
05:17
配置文件中做的这种策略的配置,这个啊添加的效果就完成了,所以各位能给它测试出来,然后这个做到之后,下面咱们再测试一下这个修改啊,不是修改就是查询的操作啊,这里没有修改啊查询的操作,那我写一下,我们来一个。太子岛。Public with,我教这个find。DB做一个。查询,然后查询中呢,注意我们现在因为它的规则中有两个值,一个是u cid,一个是cid,所以大家要根据u cid和cid做查询才能得到最终结果啊,那比如说现在我也是写一个条件构造器,先设置它那个user ID的值。
06:07
再来设置一下啊rapper点。EQ加上一个user ID,然后到里边,比如现在我找UID,咱就找这个100这个ID。100。这是UCD值,然后设置之后,咱们再设一下这个cid的值rapper,点上EQ cid,然后等于我们里边的。这个纸我把它直接拿过来加个L,因为它long类型,最终咱们调这个方法就是。我们写那个,咱看这名字啊,应该叫Co map。里边这个select one把rapper传进去,最终返回这么一个对象,咱把对象做一个输出,就这个cos这样的话完成了,然后各位看这效果啊,如果说这个效果能正常执行会怎么做?你的UID手术,它会找这个D1数据库,然后你这里边的这个CAD是基数,它会找里面这个CO2这个表,就最终它会定位到是DV1里边的cos这个表。
07:19
那咱们把效果咱看一下啊,看一下能不能。准确定位到咱这个库和里边的表。我把这个执行咱看结果。等它钉出来啊,咱们看啊,是我们预习的效果。我们看到啊,最终成功了,成功之后呢,咱们看数据肯定没有错,然后咱们看这表大家来看啊,这么来看,你看这里边告诉我们目前找的是M1的这个库,然后这里边from后面找的是不是COS2这个表,就是说前面啊做这种咱们那种策略的判断,最终定位到是M1库里边这个COS2这个表,然后把数据查询给我们做了返回,因为咱们策略都已经配出来了,所以这个是咱们写的两个最基本的测试方法。
08:14
咱把它就完成了。我把这个测试代码给各位,也是复制到我们的课件出来。这个啊,我们就完成了,所以说到这里为止了,咱们就通过这个筛定JDBC对我们的水平分库和水分表之后的数据完成的操作,它里边主要的部分都是在这个配置文件中配置你的分户或者分表的相关的策略,比如咱们刚才写到的里边有这个。分表的策略,包括分库的策略。另外有你的。分布的情况等等一些内容,比如还有数据源,咱可以配置多个数据源,所以这样的话咱就把这个完成了,这是咱们通过SHEDBC完成了水平的。
09:03
分库分表这个相关内容啊,所以各位能通过我刚才演示的过程,你能自己独立把这效果就能给他测试出来,这个我们就讲解完成了。
我来说两句