00:02
那么下一步就是咱们下边来写这个service方法啊,这个返回值都规定好了,参数也都指定好了,这个时候呢,CTRL1。哎,弹出这个菜单,直接回车创建这个方法。先在接口里边创建,然后上来CTRLT。诶,回车找到我们这个类CTRL,一再回车l ctrl o。过来定位到这个方法。哎,然后过来我们这边接着写对吧。嗯,这里边儿我们先想一想这个步骤哈,对照我们这个图。首先呢,是先根据这个login account把这个adin对象查出来,判断adin呢是不是存在不存在就抛异常,要存在的话呢,把铭文的密码加密再比较,哎,不一致再抛一场,一致的话把它返回。这个我们下一步呢,就是把这些操作呢,转换成这个注释。
01:02
啊,想一想啊,怎么去先不考虑代码怎么写啊,把它转换成这个注释啊,所以第一步呢,我们先要根据。登录账号查询min的这个对象。第二步,判断in对象是否为空。哎。第三步。哎,如果。的幂对象为空。则抛出异常。哎,如果in对象不为空。则。我们把那个数据库的密码从我的命令对象里边取出来,对吧?诶。将这个数据库密码从我的密对象中取出。哎,对。第五步呢?呃,是将表。
02:01
单提交的铭文密码进行这个加密。第六步啊,呃,对。嗯。将这个就是嗯。对密码进行这个比较。第七步。如果。比较结果是不一致,则还是抛出异常。哎,嗯,如果一致,则返回面对象。哎,就是数据库查出来这个东西对象,诶你看这就是我们把这个步骤就写好了。这个时候呢,其实你又是去想一想啊,摸着良心想一想,那么如果别人把这注释给你写好了。你对着注释能不能写出来这个代码?啊啊,你这个时候你你这个,呃,你如果对着注释不能写出来代码是吧。
03:07
啊,那你说这个我只能是你给我写好代码,我去抄是吧,那么你抄完这个代码以后运行,如果有bug,你自己会不会调。啊,也不会是吧,还得别人帮你调bug啊,那要你干啥啊,要你干啥?啊。来第一步呢?根据账号去查这个的命对象啊,在这儿的话,咱们也是再回顾一下,这个叫QBC查询啊。这个第一步呢,我们先去创建一个admin的example对象。一个admin的example。就是它步骤呢,还可以再拆分成小的步骤啊,第二步呢,我们再去创建一个criteria对象。For example。Create criteria。
04:03
第三步呢,我们可以去。在criteria对象中去封装查询条件。Criteria and logging account equal two。Login account。就行,然后呢,第四步哎,调用我们的咪。的方法执行查询。这就是我们又偷懒了,享受了框架的提供的服务,我们这么干的话就不用干嘛了的。哎,我们就不写那个soq了,Soq就用的是人家写好了的,哎。当然他这个时候吧,就是它返回的是个list。啊,所以说这个返回这个list呢,我们要判断是不是为no,得先看这个list是不是有效的。最起码这个list呢,它如果等于now哈。或者是这个list.s是等于零。
05:02
那样式没没查着对吧,那这个样式没查着,哎,就抛这个异常log field。Exception。呃,里边呢,给一个啊new一个啊,New没写new。传一个消息,constant.message。Logan field。呃,其实这个已经就表示是没查着了,对吧,已经是没查着了,但是说这个总是心中隐隐的有那么一丝丝的这个不安。万一要是。多个的话。你要是考虑这个的话呢,我们也对你要说这个的话呢,如果这个list.size如果大于零啊,不是大于一。那就抛一个runtime exception,这就这就是数据有问题了。
06:02
就是这种事,按说是不应该发生的。但是如果真的出这个事儿呢,那就是说这属于我们开发阶段应该去调整的啊,就可能是测试数据导致的,这边这个记录多了。啊,所以说这个这个问题其实是。我们要抛这个一场。呃,这个叫做。这个应该是属于我们这个。呃,系统的这个错误啊,这属于我们开发的时候。啊,这个叫做什么呢。Logging account。Not unique。咋写?我这拙劣的英语水平又暴露了。这个哈。对对对对。变成大写的快捷键,你们知道吗?
07:01
CTRL加shift加。X。啊,怎么把它变成小写呢,CTRL加shift加Y。对,Ctrl shift X变大写,Ctrl shift y变小写。这个叫做系统错误。啊,这个是登录账号不唯一。其实我们后边吧,咱们会给这个登录账号上面加一个去数据库表里边加个唯一约束。哎,加这个的话,其实就不会有这事了啊。当然这个考虑的周到一点也是好事啊,也是好事,就是小心使得万年船啊,有时候多小心一点,其实总没错啊,嗯。这是大于一的情况,那到这儿的话呢,还有就是说我们排除一下,如果这个取出来以后,我的面如果是闹的话。那么就还是抛这一场啊,就是这个。
08:02
总之吧,咱们尽可能的把所有哪怕是可能性很低的就都考虑上啊,尽可能的说在这儿,呃。考虑就是尽可能考虑的这个周全一点啊。那如果说这边的话。就算这一步吧,啊,前面是排除别的这个特殊的情况。如果我的命对象不为now。那么我们就in.get user p swd。这个时候我们叫这么这么说吧,From DB。别了,就就DB吧。啊,就是这是从数据库里边出来的,然后对表单那个呢进行一下加密。起个名字叫form。等于cor。要求MD5。
09:01
就把这个加密以后,这个是表单的,这个是数据库的。这俩去比较一下。嗯。这俩都是变量,它不像说我们用常量呢,去调这个equals哈,我们说我们把这常量放前边。啊,把这常量放前边,然后避免控制帧异常,现在这俩都是变量,就感觉谁放前边也不合适。在这儿呢,给大家介绍一个工具方法。有个叫objects,这个equal to。比较我们user。一个是DB的,一个是form的。这个好处在哪儿呢?他先判断这两个。是不是同一个对象?把双等号比的是。哎,地址值。是吧,这不是引用类型吗?对应内存里边的地址值吗?哎,如果地址值相等,就同一个对象,同一个对象肯定它是一样的。
10:00
同一个对象嘛,对吧,哎,就是你说我是吧,凤姐也是我,吴彦祖也是我对吧,这两个引用指向同一个人对吧?啊。或者如果这个不满足的话,那么这时候排除这个A是闹的情况。因为我们这个双的这个都有短路效果对吧,前面不满足的话,后边就不走了,他要是等于到后边就不走了,就避免控制这异常,所以这些事儿呢,这方法都给我们考虑到了,咱们就就吃现成的就完了啊,咱们就直接去钓它了。嗯。哎,这个如果是相等,说如果不一致抛一长,那么我们就去反。哎,去反,然后这边还是抛掉一场。嗯,如果一致的话,就把我的命就返回。
11:01
哎,这就是代码写完了,这个时候就是对着注释呢,我们去写这个代码。那么其实呢,说如果说你对着注释呢,呃,我觉得不可能吧,你全都不会写,但是呢,可能遇到某个局部呢,可能不会显,这个时候就说这是你技术点上面有欠缺,那么就哪个地方。到哪卡住了,就把那个记录点咱们再去巩固一下是吧,回顾一下是吧,这个点卡住了,就把它打通了就好了啊。
我来说两句