温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
来我们来看一下这两个更新的方法,呃,这个是根据主键去更新啊,这个呢是在根据主键更新的基础之上,还有selective这样的效果,那咱们就测试后边这个就行了啊,它包括了所有的功能,首先呢,我们去创建一下用于测试的实体类。哎,比如说我们改这个ID为七的这条思路,我们给它改成一个EP new name salary和EP哈,我们为了能够测试出来selective这样的效果呢,我们可以给它设置肠道,然后呢,下一步呢,我们是执行更新employee service update employee employee缠进来,当然这个是select有选择的。
01:02
建一下这个方法,Employ。跑一下啊,关键呢,我们是要看这个SQL语句哈。好,看看数据库里边有没有改哈,大家看一下现在这个数据的情况刷新,诶我们能看到呢,只有名字改了,其他的这些呢都没有改,看一下这个SQL语句哈。哎,你看这是我们S口语句里边的where子句,我们把全都看全都看到哈,这个where词句里边你看就只有1PID啊,这就是background makek的这个作用啊,带by AK的这样的字样的方法呢,它就是会根据我们ID注解标记的字段生成我们的V尔子句,这是我们意料之中的,然后呢,在S子句里边哈,我们主要关注这个非主键的字段,那它呢,也就是只有这个呃,不为now的值会被放到这个set词句里边啊,所以这个select这部分呢,也是跟我们之前是一样的,在这唯一的我们给大家提一下的就是什么呢?这个selective方式的更新哈,有一个什么样的好处呢?我们经常会有这样一种情景哈,我们改这个数据库里边的数据呢,并不是所有的字段都要改。
02:32
我们还是拿这个用户的信息给大家举个例子哈,我们用户的信息呢,有用户名,有密码,有昵称,有年龄,有性别,有职业,有籍贯。哎,还有这个爱好啊,还有这个毕业的院校是吧,还有这个目前所在城市,然后呢,还会有这个。
03:00
啊,其他的一些这个属性吧,总之呢,可以是这个很多很多在这些这些这个字段里边哈,啊在这个用户的所有这些字段里边,我如果去做一些更新的话,诶,我可能只是更新其中的某些这个项目,其他的呢,可能我不会去改,那么这个时候呢,如果我不改的话,我可能传给后台的那个数据里边呢,可能就是闹。你看啊,可能我们传给的后台的数据呢,是这样的,这里边儿呢,有一些不为道年龄呢,比如说我原来是呃20,我想给它改成23,籍贯呢,我原来是这个。比如说是大庆的是吧,我现在想给它改成这个济南的,那就这个时候呢,我只有这么两个字段是有值的,其他字段呢,都没有值啊,那你不能说我其他字段这个设计类里边呢,其他字段值是闹,我就把数据库里边呢,这个字段呢,也是设置成闹,那就完蛋了,用户的数据就丢失了,是吧,肯定不能这么干,所以说呢,我就哪个字段有值,我就更新哪个字段没有值的呢,保持原来不变啊,这就是我们update by primary key selective这个方法的重要的用途啊,所以这种情况下,这个方法呢,就凸显出来它的这个意义了。
我来说两句