00:00
好,下面大家来看一下该如何进行配置啊,首先呢,然后同样是来配置spring中的数据源,然后但是我们之前咱们是配置数据源的类型,以及我们数据源连接数据库的各个信息,但是在这儿的话,大家看好咱们使用的是一个dynamic的一个配置,然后其中我们通过primary来设置我们的主数据源,其实也就是咱们默认的数据源,然后下面有一个配置叫strict,什么叫strict呢?是严格的意思,那它的值是一个布尔类型的值,如果我们设置为false的话,当然false就是默认值,那如果我们设置为false是什么意思呢?大家注意,如果我们当前匹配不到数据源的时候,它会默认使用咱们当前的一个主数据源,而如果我们设置为true的话,就需要严格匹配数据源了,那如果咱们匹配不到,那程序直接报错OK吧,好啊,然后再往下就是来设置我们数据源的各个信息。大家来看一。
01:00
下看这啊,这个就是我们的多数据源中的每一个数据源的信息,首先呢,咱们来设置的第一个数据源,这就是我们数据源的名字,而这个东西是跟这个东西相对应的,大家注意,比如说你在这儿写的是ABC,那我们在这儿也要写ABC,但是呢,大家来看一下,你看我们在这个地方默认是不是就是master呀,所以说咱们也写成是master就可以啊。好,然后我们通过master冒号,然后来设置我们当前master所对应的数据源的各个信息,然后再来创建一个从数据源,比如说叫slave_一,那这个时候咱们在这儿来设置的就是从数据源所对应的各个信息,OK吧,好,所以说咱们大家可以直接把它复制过来,放在我们当前咱们的一个配置文件中就可以啊。行,这个大家注意,然后呢,大家一定要看好咱们这里面的每一个配置是什么意思,这个再说一遍啊,这个是用来配置咱们的默认的数据源的,知道吧,它的名字在这我们所设置的名字跟我们这个地方的名字是一致的啊。好再往下是否严格匹配数据源,大家注意,然后它的值是一个true或false,如果说我们设置的是false而匹配不到数据源的话,它会默认使用谁呀?Master这个数据源OK吧?好,那如果咱们要设置为处,那匹配不到数据源呢?设置为处表示的就是要严格匹配,那匹配不到的话怎么办?直接抛异常,大家注意啊。好再往下data source来设置各个数据源的详细信息,这是咱们的master所对应的数据源信息,这个是我们的slave_一所对应的数据源的信息,OK吧,这个大家注意,OK,那下面呢,那我们再往下。
02:52
那大家看一下,下面咱们是不是就需要来这个测试一下我们当前查询用户信息的功能,以及我们当前查询咱们的这一个的这个查询咱们的当前的一个商品信息的功能了,对吧?好,那我们呢,把咱们的service以及咱们的map呢,然后咱们都把它给创建出来,好,然后这个地方大家需要注意,我们在service层上,咱们是不是需要来指定谁呀,来指定我们当前咱们的这个业务逻辑来操作的数据库,来操作的数据源是哪一个数据源,大家看在这咱们需要用到一个什么注解叫做。
03:29
DS这个注解,通过这个注解就可以来指定我们所操作的数据源,大家注意,那换句话来说,只要我们当前咱们所访问的是user service m PL中的功能,那他所操作的数据源是不是应该都是咱们的这个数据源,OK吧,当然那我们的商品表呢,咱们是放在咱们的这个my beat plus_一中的,因为咱们的master大家来看一下,它是不是应该对应的是咱们的my beat plus,而我们的SLAVE1对应的是不是应该是my plus_一,对不对,所以说关于用户的操作,咱们操作的数据源是它,关于商品的操作,咱们的数据源是他没问题吧,好啊,行,那下面呢,咱们就把这些内容呢,全部都给它创建出来,找到我们当前咱们的一个在创建我们的map接口,比如说然后这个地方咱们是map.user map user map。
04:28
好,当然咱们还需要来创建咱们的一个实体类啊,然后咱们把实体类呢,也给创建出来,叫po go,然后点user,然后这里面咱们需要来设置的属性,大家还记得吧,In,那这一次呢,我们直接跟咱们的这个表里面的这些字段,然后保持一致,U ID user name,然后HUID。好,Private,然后string类型的username对吧?这个大家知道我为什么这样去写吧,因为我们当前咱们的字段名用的是下划线,那咱们的属性名就要使用相对应的什么,就要使用我们当前相对应的,然后一个这个驼峰的写法对吧?然后再往下年龄,然后是in t类型的H,然后再往下的话,然后是一个in t类型的sex,那因为我们在当前的工程里面,咱们没有设置咱们的通用枚举,所以说咱们直接设置成泰啊,好,再往下,然后private类型,Private string类型的什么em email email email OK,好,最后一个是咱们的逻辑删除,当然大家想设置的话设置一下,不想设置也可以啊,Is deleted的。
05:46
OK啊,行,这样就可以了,然后这个地方大家说我们应该怎么做,A加上咱们的对吧,然后来生成它所对应的构造器,以及get和set方法,然后呢,还有to string方法啊。
06:00
好,那我们设置完成之后,大家看咱们的表叫T_U对不对,那我们当前所操作的我们当前的实体类是不是叫U,那所以大家还记不记得我们之前所学习的一个注解叫做a table,什么table name。能看懂吗?Eight table name来指定我们当前所操作的表的名字怎么写呀?T_user完事,然后再往下大家来看这个UID,对吧?大家还记不记得,那我们在这儿重新创建的这个工程就相当于给大家重新的回顾了一遍啊。那这个UID的话,大家说我们需要通过注解来标识它吗?需要因为什么呢?因为我们买be plus默认会将ID来作为主件,那如果我们写的是UID的话,大家说它会把UID作为主键吗?不会,所以说我们在这需要通过table ID,然后来指定我们当前的主键,这个大家注意啊。
07:00
好。行,OK,就这样,然后再往下。然后我们继续,然后咱们再来创建一个咱们的product,叫product叫product对吧,然后class,然后这里面的一些属性的话,大家看首先第一个类型的IDID,然后private string类型的name,然后第三个是我们的这个。呃,In t类型吧,应该是啊,然后把这个表给打开对吧,是in t类型的price in t类型的price好再往下,然后应该是咱们的in tIgEr类型的一个version好。OK,然后大家看,那我们在这儿,咱们需要来加上的注解是不是data就完事了,然后我们需要操作的表,大家说我们现在需要通过table name来指定吗?不需要,因为我们当前咱们操作的表跟咱们的实体类它是一样的,对不对,这样的啊,好,那当然呢,在我们的product里面,咱们的表识主键的这个字段呢,它也叫ID,所以说咱们还需要用到table ID不需要了,不需要了啊。
08:12
行设置完成之后,大家来看user map,咱们需要让他去继承谁呀?是不是咱们的base map对吧?泛型呢,咱们需要来设置为user啊,设置为user啊行啊行,那我们设置完成之后,下面咱们再来创建咱们第二个map,然后叫。来,再来创建咱们的第二个map,大家注意,第二个map呢,咱们叫product product map OK,咱们是不是也需要让他去继承base base map,那他的范型的话就是product OK。行,那我们为了防止咱们在一会在测试类中来使用这两个map的时候,然后他们报错,所以说我们是不是可以在这加上一个repository,好,在这个地方咱们是不是也要加上一个repoity OK,那我们的map接口创建完成之后,那我们是不是还要做一件事情,在我们当前咱们的。
09:14
这个启动类上,咱们是不是还需要来设置一个叫做什么叫做map sc的这个注解,叫做map sc的这个注解,然后来对我们当前咱们的一个map接口所在的包进行一个扫描。Copy,然后把我们当前的包设置过来就可以啊。好,然后再往下,那来创建我们的service,比如说先来创建我们的user service SE,然后这是一个接口,咱们需要让它去继承I service泛型呢,就是我们当前的一个实体类型,好再来创建它所对应的一个实体类啊,这个包咱们没有设置是吧?那我们在这咱们把这个包创建出来,叫做SSE啊v SE service。
10:01
然后把user service呢给拿过来。OK,然后在这咱们再来创建一个它的实现类il.user service I PL就OK啊好,那我们在这需要让他去实现我们所创建的user service的接口,是不是还需要让他来继承,然后咱们的service I PL这个时限内大家注意啊。IMPL这个实现类,那它的泛型的话是不是应该有两个,第一个就是我们当前要来操作的一个map接口,那既然是咱们的user service的功能,那我们在这就需要加上一个user。Map OK吧,然后还有第二个泛型呢,是我们当前要操作的实体类型,那咱们在这把user给写上啊,行,那大家看这上面咱们是不是要把它给标识为一个service组件,业务层组件,然后还需要来使用我们刚才所看到的这个注解来指定我们当前咱们需要操作的数据源,OK吧,好,大家注意括号里面来写的是谁写的就是我们当前为咱们的数据源所设置的名字,比如说我们当前的U表是不是应该在咱们的master所对应的数据源中,那所以说咱们只需要在咱们的DS这个注解中,然后大家来看啊,然后把咱们的master给写进去就可以啊。
11:26
好,再来创建咱们的第二个service的接口,然后叫做A。叫做product service,然后咱们需要让他啊这个让他来继承I service,然后来指定咱们当前的一个泛型,然后是product。Product。OK,行,然后再来创建它所对应的实现类,来,咱们来复制一下名字啊,好,然后在这大家注意,咱们创建的是一个实现类,叫product service I p,然后让他去继承咱们的I,继承service service,然后I'PL,大家注意在这呢啊,咱们需要操作的map接口叫做product product map,咱们需要操作的实体类型叫做product。
12:25
Pro,对吧?Product行,然后在这咱们还需要让它去实现我们所创建的接口product service行,这样就可以啊,好,那同样我们需要在service层上加上a service组件来指定它是一个什么,指定它是一个业务层组件,还需要加上DS,因为我们当前咱们的两个组件,我们所操作的数据源是不是应该是不一样的,那我们该如何指定数据源呢?就是通过咱们的DS这个注解来指定的,OK,那这里面咱们怎么写啊?大家说我们当前所操作的product的商品的信息是不是应该是在咱们的slave_一这个数据源中对不对?所以说咱们只需要在咱们的这一个DS中把咱们的数据源的名字给它写上就可以了啊。
13:16
好OK,那我们现在呢,咱们的这个呃,模拟的环境呢,基本上已经搭建起来了,然后下面呢,咱们就来测试一下这个功能啊。
我来说两句