00:03
呃,我们再稍微再多说一句哈,就是我们这儿其实呢,比如说你看这个。去做,确认这个事儿没有做。啊,这是一个,还有一个呢,其实说这个功能吧,你要是去去琢磨去抠的话,它这个没有头。比如说呢,你删的时候,其实你是不是也可以也应该考虑一下,你删的是不是当前登录的用户他自己。现在我们是拿汤姆登录的。啊,这边搜索的是五哈。你要是把自己删掉的话,这个事儿就不太好办了。你回头你下次你登录不了了啊。所以说你要是这样的话,你还得去检查一下是不是当前的这个用户。啊,这个到时候按说应该也其实也不是很难,你这边拿到session,从里边把admin取出来,然后呢,比一下这个ID是不是一样的就可以了,对吧?啊哎,你抛个一常提示他一下,说哥们想开点啊,别别别把自己干掉。
01:02
啊,这个东西你可以自己试着去写写啊,就这个你要再细抠的话呢,比如说呢,我们别做物理的删除删除。哎,别做物理删除,咱们尽量做逻辑删除。啥叫逻辑删除呢?就是实际上没有删,表面上你以为删了。我们现在这种是物理删除,是数据库里边是真的删了,是动真格的。那逻辑删除呢,就是有一个字段。他用一表示这个数据是有效的,用零表示这数据是被删掉了。哎,只是把这个字段改成零。但是呢,其实并没有真的闪。这数据库里边可以做这么一个,其实是,也就是说呢,这其实只是做了一个update,并没有做delete,这个数据其实还在。啊,我们说生产环境下边很多时候要考虑这个因素,尽可能不要真的去删,因为有时候你要删了,真的删了的话,你要再找这数据就找不回来了。啊,有时候这数据是有用的。
02:01
啊,有的时候你要跟别人打官司的话,这些都是这个,你到法庭上打官司的时候,从法律上来说,这都是证据。啊嗯,所以说呢,就这个东西你要往下去抠的话呢,都没有头,我们现在呢,就是说只是做一个练习啊,只做一个练习,就我们从从这个学这个学技术的角度呢,做这样一个练习啊,所以咱们这边呢,咱们是按最低标准这个讲的,大家你可以自己去研究研究这些这个。更多的这些部分。这样的话呢,删除这个完事以后啊,咱们可以来做一下这个新增。增删改查,哎,新增。嗯,说说这个新增的目标。哎。嗯。降。表单提交的。的命令对象保存。到数据库中。
03:00
当然这里边儿的话有两个要求啊,一个是login。不能重复。嗯,第二个要求。就是密码要进行这个加密。别的都正常操作就行了啊,别的其实正常操作就行,这是我们的目标。嗯,这个怎么去实现。怎么去实现,看一下原型。我我我我把别的关一下哈,这个开的太多了。嗯。新增的时候点他过来,来到这个表单。来到这个表单的话呢,你当然就填表单,填表单啊,然后这边点他去提交,哎,所以说这个我们看一下这个流程哈。得先找到这个新增的按钮。
04:01
嗯。新增的按钮。点他。呃。然后呢,来到这个页面。首先考虑一个问题哈,就是咱们来这个页面用不用带数据啊。哎,这里边儿没有啥要显示的,所以这个时候不需要带数据过来,不用带数据咱们就可以,我有controller过来。对,Will controller这样过来,咱们就少写个handle的方法。这是得多懒是吧?哎。
05:03
这个来这个表单以后,那你这边就填表单,还是咱们就不做表单验证了啊,咱就不做表单验证啊,说拿这个GS把这值拿到检查一下对不对是吧,这个咱就不做了啊。因为后边有的是机会写GS,我们写GS能写到to啊,我跟你说。所以咱们这边能少写点就少写点。呃,点这个新增,点这个新增呢。要提交这个表单的话啊,我们去这个min。Hard。嗯。点这个叫做C,我的mean或者C也可以哈。这里边儿呢,传一个对面对象进来。诶。传一个admin对象进来保存,他去找service。
06:05
Service点这个叫也叫个save哈。嗯,要穿这个。那么这个时候呢,我们在这个service方法里边哈,咱们就去考虑一下。我为了省事,我就拐弯过来了哈。在这里边哈。要去做的这个事儿就是。呃。我们为了保证login count唯一,咱们呢,去数据库里边哈,给他把login count给它改,加个唯一约束。这样的话呢,你一旦重复的话,它会抛异常就走,我们一长预设的那个机制。这个时候就比较。呃,就比较保险,从数据库,这从根本上保证它不能重复。所以说呢,这边。我们其实Java代码,咱们可以不去做这个重复性的这个检查啊,不做这个检查,因为你要是查的话,还得再查一次数据库啊,你查数据库的时候呢,假设你这边如果是两个人在操作。
07:03
啊,这个汤姆在操作,杰瑞也在操作。汤姆呢,他先做了一个查询的操作,看看是不是重复的。然后呢,他还没等操作呢。然后杰瑞呢,也查了一次。杰瑞的查完了以后呢,他的山,他的那个影色的操作比汤姆的要早。汤姆,然后呢,才做的影射的。这会发生什么啊?汤姆查的时候,他查的时候是不重复的。杰瑞查的时候也不重复。杰瑞这边就,哎,他运气好是吧,他先执行insert了,他执行完了以后呢,这条记录,比如说50哈这个ID就已经存在了,汤姆呢,他按这个查询结果是可以查,可以插入的,它也插入。啊,不是50哈,不是50。就比如说他要保存一个,呃呃。
08:02
Sally啊,他要保保保保存一个这个值留给他的啊,他查的时候这个没有被占用,他就也insert一个这个,那你就insert的俩。所以说这个时候,如果这个几率极低。这个几率其实说极低。两个人同时操作,本来这个几率就已经很低了,他俩同时操作,他俩想的一个账号的名字还一样。这个可以说几率极低,但是你要较真儿的话,它会有这种风险。所以说我们要是从数据库这边有唯一约束的话,就从根上就避免这个这个问题了啊,从根上去避免这个问题。所以说呢,我们这边下一步呢,要考虑的事情就是说这个密码的加密啊。这个你表单提交的这边,虽然这没有哈,这个表单这我们回头得改一下,表单提交的密码肯定是铭文的,得把这个密码呢,铭文的密码加密成密文的,再执行保存。
09:04
执行保存,那我们就调的是这个in。的这个insert。哎,里边也是传这个的面啊。嗯。大致上是这么一个流程。还会遇到一些个细节,遇到再有一些个别的细节的话,咱们做到那儿再说啊,这个思路上,其实你实际开发的时候,遇到一个功能,你也不可能一一上来就考虑的特别周到。
我来说两句