00:00
好,那还有一种情况呢,就是假设说我们数据库当中。这个名字呢,就叫UID,然后呢,我的这个实体类当中,我的名字呢,我就还叫ID。那么这种情况怎么处理呢?这种情况呢,我们可以在这个table ID哈,这个属性注解里面添加一个属性,这个属性呢叫Y6。这个Y6呢,就等于UID。就可以了。明白吧,啊好,那么他这个概念是不是和上面我们这个table name的概念,或者是说功能是一致的呀,啊,那所以如果这块你叫ID的话,那么在我们的测试当中。你还得给它改回去是不是啊,Set ID啊,这样的话有一个什么好处啊,就是比如说我数据库由于某种原因啊,我一定要把这个根据规范,我要把这个列名改了,我把列名改了之后呢,但是此时此刻呢,实际上我程序已经写了很多内容了,只不过现在呢,我数据库就强制要求我们要符合我们的数据库设计原则,数据库设计规范一定要按照规范改,改完了之后发现数这个应用程序这边不好使了,你像这种调用的地方会很多,会很多的话,那你就挨个业务层,你就得找有没有这个属性名字改的地方,你都得一个一个改了,是不是就特别麻烦,那怎么办?那你就不用改它了啊,直接在这添加个注解就完了。
01:30
啊,那这样的话也可以完成相同的功能,是不是好,那所以我们来测一下啊,在。嗯,刚才这个音色的这个里面。叫。观海。他多大了,我不知道他多大了,50吧,好,然后运行一下啊。
02:00
好。那我们呢,就把这个用户呢,就插入到数据库里面了,然后我们来看一下啊。和刚才插入的一起看一下。振华呀,关海呀,建国呀,是不是都插入到这个里面了,对不对啊,所以这块呢,是我们刚才所说的两种解决方案啊,一种解决方案注意针对ID来说啊,一种解决方案呢,就是我们在数据库当中把这个名字如果改了的话,那么在我们的实体类当中。我们呢,需要去修改这个属性的名字啊,如果修改属性的名字的话呢,第一种解决方案。就是什么呢。就是这个地方不用写。但是这个地方呢,变成U。是吧,这是方案一,但是呢,我们的业务调用当中,那你都得干嘛,你都得依次的把它改成UID,这样的话才可以啊,所以这是第一种方案,第二种方案呢,就是这样的。
03:04
那么我们的属性当中呢,不用去改,但是呢,你需要在这添加一个注解啊,这是第二种方案,这种方案的好处呢,就是我的业务当中就不用去改这个业务代码了啊,所以这个是针对于ID的这样的一些解决方案,然后另外呢,还有就是。刚才我们所说的。针对于table ID的这个type。我们再来多说几句。Type这块呢,刚才我们看到有ID type。除了有这个assign ID之外,还有一个就是UUIDUUID不用多说,生成的就是UUID的形式啊,然后呢,因为UUID呢,它是带中华线的,带连字符的啊,所以呢,我们就必须啊,将这个数据库当中的这个字段的改成字符串形式的啊,或者说word串形式的才可以,否则的话呢,就不能够使用这个UUID这种策略,但是这种策略我们平时在开发的时候使用的很少,所以这个大家了解一下就行了,我们也没有必要对它做一个测试了。好然后接下来还有一个常用的or two。
04:11
叫主见自增策略,叫主见自增策略,主键自增策略的话呢。我们。需要数据库配合,所以说呢,在数据库级别,我们要给它定义策略,那怎么定义呢,在这个地方。右键。设计表,然后选中这个UID,然后勾选这个自动递增,好吧,勾选完了之后呢,我们保存啊,保存完了之后呢。我们来看一下。在当前的这个。呃,数据库当中,那它的这个最大ID,也就是说它呢,是根据目前的最大ID来进行自增的。他的最大ID呢,就是6498对不对,好,现在呢,我们再来新增一条记录。
05:04
在这个位置啊。还是那个insert。郭海一。这块改一下。好,然后接下来呢,我们右键。51吧。运行啊。大家看最后的结果。那么我们呢,生成了一个SQ语句,并且呢,这个SQL语句当中是不是没有ID参与了。啊,没有ID参与,他也正常的插入到数据库当中了,说明呢。这个ID是被。数据库里面的组件策略生成的,那么数据库里面的主键策略,我们刚才说到了是主键自增。而买搜狗数据库的主件自增策略呢,是他要先看一下当前数据库表当中的一个最大值啊,他会把最大值呢,作为它默认的一个起值的这样的一个计算的一个初始节点,然后在这个值的基础上呢,进行一个自增,所以呢,这就变成九九了,对不对?好,那接下来呢,我们再来。
06:15
增加一些其他的记录,比如说呢,嗯,我们昨天在service test里面。测试的这个。批量增加啊好,那我们来试一下这个批量增加。呱呱。好,然后接下来呢,右键啊运行。好,那么我们来看后面的这个SQL语句。是不是乖乖01234呀,好,那也插入到了我们的数据库当中,但是有ID的事儿吗?没有ID在哪生成的数据库当中,好,我们来看一下数据库。是不是自增啊,很明显是自增。
07:03
和前面的我们的这个分布式ID。它是不一样的,对不对,所以这个是主件自增,那么主件自增需要我们干嘛呢?一定数据库配合,也就是说数据库这面一定要相应的有策略才行,如果数据库这面没有策略,那么他就没办法自增了,好吧,啊,所以这块呢是我们所说的。这个针对于。Pay ID这个注解的一些。其他功能的一个使用,那么第一个呢,就是这个value,第二个呢,就是这个type的一些其他类型的值,好,这是我们的table ID注解。
我来说两句