00:01
各位同学大家好,我们继续来学习上硅谷上移通项目,刚才呢,我们演示了MP实现对数据库的添加操作,包括说明了里边的组件策略,那咱们下面继续来演示MP如何实现对于数据库的修改操作,包括咱会演示出里面一个特性叫自动填充,还有一个叫乐观锁。那咱们先演示用MP如何实现对于数据库的修改操作,我这里边给各位来写一下,咱们再来建个方法。修改。我写一个单元测试的方法。Public,我叫test update。然后在里边呢,我们做过修改,那修改怎么做呢?跟咱们之前的思路一样,咱们也是调用user micro工的方法,然后里边有个方法,大家看这方法叫update by ID在里边呢,传入的就是一个user对象,然后user对象中传你要改的值就可以了,所以咱用它做一个修改操作。
01:14
那我现在在上面,我就手动扭一个user对象。但是给各位要特别说明,这跟添加不太一样,咱们添加的时候呢,ID不需要set吧,因为添加的时候没有ID,但是我们修改的时候,咱要根据ID行修改,也就是说如果说咱要写语句的话,各位同学应该知道修改语句怎么写。怎么写修怪语句,是不是写一个update加上表名称,That加上你的字段等于的值,然后where是不是加个条件,所以咱们一般都是根据ID行修改,所以说我们在set值的时候,ID值需要给它塞进去,比如咱们现在做一个具体功能,我就根据ID把这个。
02:03
Lucy这名字比如改成什么麦,就做一个名字的修改,那下面我写一下,首先第一个我先set它的ID址,因为是个浪类型嘛,第二个L,然后第二个呢。设置它要改的名字,名字我就改成这个麦,然后最终把user对象传到里面去,它要一个返回结果,就咱说那个影响行数,我把影响行数最终。做个输出,这样的话修改操作的代码咱就完成了。就是这么一个写法,然后这个写完之后,咱们把代码执行一下,看一下最终的效果是什么样的,就看下这个修改最终能不能实现出来。那我们来执行一下啊,看结果。首先各位看这里边没有报错,然后大家看最后错第一个它的语句是不是就是update,根据ID改名字,传入咱的名字和ID,最终反应结果是一,咱到表里边来看一下是不是就是I,所以这样的话。
03:13
修改操作。咱们就最终完成了根据ID完成这个修改功能,这是咱们演示的MP中的一个基本操作。所以说到这里为止呢,咱就把MP中的添加操作,修改操作,还有一个最基本的查询操作就演示完成了,各位把这几个操作要给他掌握,这是关于修改操作。然后修改操作之后呢,大家往下看啊,刚才我也说的,在我们的MP中呢,有一个特性叫什么自动填充。什么叫自动填充呢?给各位说一下啊,比如说我们之前啊,咱做添加。咱们加的值的时候,每次是不是要S,你在改的时候每次是表S,就每次我们都需要做这个S操作。
04:05
这么做肯定没有错,但是MP中呢,有它特有的方式,咱不需要用set方式,用MP的方式也能实现跟set相同的效果,这就叫做自动填充,主要针对是属性值的这个设置,这是MT中的一个特性,那我下面给大家就来演示自动填充到底该怎么做。因为它是MP中的方式,所以是一种固定的结构,那我来说一下该怎么实现这个功能。首先我强调啊,比如说我就写一下。自动填充。自动填充中,首先第一步呢,咱先做一个。准备工作,什么准备工作呢?我们就在我们的表里的添加上两个字段,方便咱们后续操作,加哪两字段,咱看下我的课件中就这两字段。
05:01
第一个就是clear time,第二个叫after time,就是一个添加时间,一个叫修改时间,第两字段应该不难理解,比如说咱们每次加个数据是不是有一个创建时间,然后你每次改个数据是是有个修改时间,所以咱们就加两个字段,为了咱们后续方便,然后把这两字段咱们就自动填充完成,那我给各位来加一下。我就在工具中直接操作了啊,我就右键点user,然后改变表。里边加第一个字段time,然后选择它的类型,就是date。这是第一个,然后第二个我们叫update。Time,选择它的类型叫date time,把这两字段给它就加上,这是我们完成的第一步。然后完成之后,我们再进入到第二步,第二步怎么做呢?大家注意,因为咱在表里边加了字段,然后你需要怎么做,是不是在我们的表对应的实体类上边要添加上是不是对应的属性啊,就你那里边要加一个创建时间,还有一个血管时间,那给各位来加一下,咱们来到user类里边加上两个属性。
06:24
第一个类型应该是date,第一个我们叫。Time。然后第二个date,我们叫a date time,各位注意啊,我这里边我的这种命名特点。会看到什么特点吗?我刚才表里面加的是不是带下划线的,而我在C类中是不是变成了驼峰式,就是让你这里边呢,你看啊,第二个单词的首字母是不是大写,包括a time跟它一样,第二个单词的首字母是不是要大写用驼峰式跟它表示,所以这样的话,在我那里边我也加上了两个属性,把这个就完成了。
07:09
所以这是我们的第一步,咱先做这个。准备工作。然后第步做到之后,下面我们再进入到第二步操作,那第二步开始呢,咱用的就是MP中固定的方式实现了,那咱先看一下怎么做啊,首先第一个咱们需要在实体类上边加上注解,就告诉这个MP以烯类的属性什么操作时做设置值,比如你看我这个注解是叫insert。这是叫,就是添加的时候这里面设置,修改的时候这里面设置,所以咱需要做这个,然后做完之后咱需要写个类,然后这个类呢,添一个接口叫might object handle,就来设置你添加的时候放什么值,修改的时候放什么值,然后这样的话就可以了,那我下面给各位我就来做一下。
08:03
首先我写一下里边的第二步。第二步做法就是咱们在实体类上边要进行。自动填充到属性上边,添加注解,就告诉他是添加时设置值,还是修改的时候设置值,那咱们来写一下,咱们先来到这里边time,那我加个注解。叫table field。Feel等于feel的feel,点上insert,它就表示添加的时候设置值,因为是insert嘛,然后这是修改,跟上面类似,我把它复制改一下。然后这个值有同学说是不是可以写个update没有错,但是你注意啊,如果我这么写的话,我第一次加的时候是没有修改时间,所以咱为了有值的话,我们一般写这个值。这什么意思啊,添加的时候有值,修改的时候里面有值C,咱们里边的第二步就做这个事情,在我们的两个实体类,就实体类的两舍上边加上注解指定它是添加的时候设置值,还是修改的时候设置值,所以这个第二步那就完成了。
09:19
这个是一个固定结构,各位在写的时候能把这注解给它写上就可以了,然后写完之后我们再进入到第三步,我写一下第三步怎么做呢,咱们就是。创建一个类,然后这个类呢实现一个接口,然后在里边实现接口中的两个方法。一个方法是添加的时候执行,一个方法是修改的时候执行,在里边就是设置你要添加。什么值?这是第三步,那这句话到底什么意思,给各位具体写一下啊,就是现在我在里边呢,比如说我垫个包。
10:01
这个包我就叫这个憨德冷,就是操作。然后在handle中的,咱们来创建这个类,这个类我起个名字,比如叫这个my mind object handle,然后让这个类实现一个接口,这接口就叫做might object handle。然后咱们实现接口中有两个方法,大家看两个方法啊,我们来自己看一下,第一个叫什么。Insert。第二个叫L的feel,那大家说这方法什么意思?Insert什么意思?是不是添加呀,那我强调它就表示以MP。执行添加操作的时候,那这个方法就。执行了。下面跟他一样,以MP。执行修改操作的时候,这个方法就执行了,所以它在里边可以设置它的值。
11:03
那咱们来设置一下,怎么设置呢?在里边有一个方法,大家看这方法啊。你看一下方法中几个参数。是不是三个参数,那咱们看这方法啊,咱先看方法的命名特点。我先加上三个参数啊,你看第一个啊,命名site是不是设置。Field呢,是不是属性VL是不是值啊,就Y600NAME什么意思啊,就根据名称是不是设置你的属性值啊,所以里边三个参数,第一个参数大家能猜到是什么。是你的属性名称啊,那我把它就拿回来,就是你类中的属性名称,第一个第二个设置的值,那这值因为是当天时间嘛,咱就直接溜上一个。Date当前时间,然后第三个就是你当前这个might object对象。这样的话完成了,也就是说当我们一执行添加操作,那这个方法执行它一执行它就会把当天时间给我们set到create time中去,它可以完成这个操作,这是我们写的第一个,然后修改跟他一样,我就直接复制一下啊,修改叫update time,咱也传入当天时间,然后你在每次修改的时候,它也是向里边设置你这个当天时间。
12:23
所以这样的话,那就把这个完成了,然后都完成之后,别忘记需要把这个类的对象创建交给死人管理,在咱加个注解叫做comment,这是死亡中的知识,如果你不加它,那这个对象不能交给大家,肯定不认识,所以咱们这么做之后,这个代码我们就最终完成了。就是我们现在写一个类实验接口,接口中两个方法,一个方法是在添加时执行,一个是在修改时执行,然后咱们想对应的使用中设置它的值,咱们目前都是当前时间就在里边就分别设置这个值。
13:06
这样的话自动填充我们就完成了。这就是咱们写的功能,是用MP的方式,然后最终实现咱这操作。啊,当然我强调,有同学可能会说,说这个方式我不用,可不可以可以,因为咱们直接就赛了,只是是不是能加进去啊,我这里演示的目的让大家感受一下,MP有它自己特有的方式,也能实现我们跟之前的相同的效果。所以咱们现在把这个我们就记完了,然后写完之后呢,最后呢,咱们把这个代码我们来做个测试,就看一下最终的效果到底是怎么样,咱最后就给他测试一下啊,咱来试一下。那怎么测试呢?给各位说一下啊,首先啊,第一个就咱一会儿先做个添加操作,就看添加之后这时间有没有值,然后咱们等一会儿再做修改,再看修改时间能不能变,如果有值也能变,那就证明咱的效果就可以了,那咱们下面就试一下,首先我先测一个添加。
14:14
那添加呢,我就找一个咱们刚才这个方法,我随便给他改个值,比如叫up up,然后把它执行呀。咱们来看一下它的效果什么样,就看那个时间能不能自动加进去。我们等他进出来。咱们看底层的语句。大家看啊,在语句中我们清楚的看到时间值是不是有了,就得到当前时间,然后咱到表里面刷新,大家看当前时间是不是就加进去了,这是可以的,那咱们这个可以之后我们再是一个修改操作,我把ID值咱给他拿过来,找到刚才我们写那个修改操作,就这个。
15:00
I地址。比如改成这个Lucy Mary up up就是它,然后现在我把这代码咱们给他执行一下,看一下效果是。什么样的?我们等他执行。然后执行之后,咱到表里面刷新看一下,大家看之前是12:19,现在是12:20,这样的话咱就把这个自动填充就完成了,也就说这种方式特点就是不需要你手动set,而通过MP的方式就能实现跟set之后相同的效果,它是MP中一种特有的方式,这种方式就叫自动填充。所以咱们就把这个给各位演示完成了。
我来说两句