00:00
其实框架源码当中涉及到一些我们常见的,呃,方法的重载啊,重写啊,还包括一些设计模式啊,这个同学们下来呢,有机会呢,再好好的看一看,再去理解理解,诶,加深点印象啊,我们说了看的很简单,一步一步过来的,但怎么过来的,这就难了啊,大家把它看明白,好好的理解啊,我们刚才说过了,有方法的重载呢,有方法的重写,但其实还有设计模式,这个设计模式你们知道吗?在我们框架当中体现了一些设计模式,比方说咱们刚才这个东西叫do,这个do在我们这边有一个叫做do啊,咱们叫做process。啊,在这个方法当中就体现了设计模式。体验了什么车,你不知道吗?叫。模板方法的设计模式学过吗?没学过是吧,听过是吧,其实啊,在HTTP里面这个里面的方法体现的就是这种设计模式。
01:01
这个service是体现的,就叫模板方法的设计模式,为什么呢?因为他把它的逻辑都写清楚了,但是具体怎么实现他没有写,他委托给子类来实现这个功能,他只是把架子搭好了,第一步,第二步,第三步,第四步,但是每一步怎么操作没写啊,委托子类来重写,就等同于他搭建了个模板啊,啊这个方法搭建了个模板,然后呢,你照着模板去实现就完事儿了,就这么个意思,叫模板方法的设计模式。所以说你会发现它的逻辑很简单,判断你的数据提交方式是不是我们的get还是post,如果是get走读do get,如果是我们的post走do post,所以我们只要重写它的逻辑就完事了。所以我们学的时候学,那我们要重写这两个方法,原因就在这儿,就是一种设计模式,同样道理,我们回到这个地方也是一样的,我们这些呢,就是逻辑架构,但是具体这个do service怎么实现我不知道。你来重。
02:02
写它,所以这个方法其实根本就没有实现do service,它是由子类来重写的,所以子类来重写这个do service方法,诶,就是这样,在这个do service方法当中,你会发现也没有很复杂的逻辑,它真正的写法还是在这个方法当中,也体现了模板方法的设计模式,所以啊,现在模板方法的设计模式,你只要看看那个类当中,它是以度开头的,那就是模板方法。啊,它就是模板方的设计模式,就是用do开头的啊,现在都是比较什么呢?就是这个起名上都有些规则在里面了啊,这就跟你们那什么一些什么工厂类啊啊,包括一些我们的单利模式,单利模式当中是不是有个方法叫做盖get啊。是不是啊,一样的获取实例嘛啊,就那么个方法,都那么起名,没有起名叫get object没有,一般都是叫get instance啊,所以他们现在都已经什么规定在里面了啊,了解一下,嗯,好了,这个呢,我们就不再细说了啊,这个同学们下来自己看,咱们以后碰见什么咱们再来说什么啊,那么我们现在呢,准备继续来讲我们的这个课件啊,那么之前呢,我们上午的时候啊,跟同学们说了要使用我们这个。
03:13
按F5这个工具啊,但有的同学啊,他写错了啊,你记住了咱们这个目录啊,放在我们这个index页面的上一层目录就可以了,放在这个位置啊,你不要放在里面,放在里面它出不来啊,你放在它上一级目录当中,然后呢一点就出来了,然后点击之后呢,那么我们这就能够看到我们的网页,我们的网页用什么呢?我们的这种,呃,一些我们的这种课件给它放进去,这是为了我们方便啊,否则呀,一会从这儿找,一会儿从那儿找,不方便给它归纳起来了啊,那么我们上午呢,已经简单的介绍了我们的环境,我们的背景,我们的项目,然后呢,我们上午呢,还简单的介绍了一个工具叫real Rose,我们接下来呢就往下看,下面呢,还有我们的工具啊,它都是跟我们开发环境相关的,那么这里呢,有一个叫power designer,那么这个是个什么呢?它也是一个建模工具,跟我们上面这个建模工具是一个东西,因为什么呢?Real Rose呀,它也是建立模型,我们这也是。
04:14
建立模型,但这个呢,建立的模型呢,是业务模型,所以我们上午的时候呢,把那个流程给它画出来,这叫业务流程模型啊,把这个创建出来,但是我们现在的这个工具创建的可不是业务流程模型了,它是建立数据库模型。啊,所以有这么个工具是用来建立数据库的膜的啊,所以不太一样啊,这个咱们工具呢,介绍一下啊,那么介绍的话怎么介绍呢,我们还是看一下啊,咱们点进去。点进去以后,这个工具啊,是一个中国人啊开发出来的,特别的厉害啊,而且这台卖的非常贵呢,而且现在也是收费的,但我们给大家的呢,应该是一种什么呢?破解版的啊,就是这样啊,这没办法是吧,咱们也不可能花那钱去啊,所以呢,我们的power designer啊是一个叫王晓什么的。
05:02
云是吧,啊云啊,王小云啊啊看感觉跟个女孩似的是吧,但是个大小伙子啊,个还不矮呢,嗯,所以呢,他这个东西还是可以的,细节我们不看了啊,自己同学们下来自己看就可以了啊,我们只要知道这个干什么的就就行了啊,这个power designer呢,是进行数据库设计的一个强大的软件,在我记得在早期的时候啊。我们国外很多公司都在用它,现在也有很多啊,但是可能由于这个软件有点大,可能会有一些变化,但是大部分企业还在用它,还是非常不错的啊,那么我们这里呢,要建立模型,那么你建立模型问题就来了,我们怎么来创建我们数据库的模型,我们怎么把数据库当中的表啊字段呢,给它创建出来,怎么分析出来,这个我们是要知道的,所以这里呢,涉及到一个叫模型转换的问题,什么叫模型转换呢?比方说有个叫概念模型,叫对象模型,还有一个叫数据模型,这些模型之间是可以互相转换的。
06:01
诶,那什么叫做概念模型,什么叫对象模型,什么就叫数据模型呢?那么所谓的数据模型,你可以简单的理解为数据库的那个表字段啊可以,那么对象模型呢,表述的是我们的那个类,我们的属性,我们的方法,而那个概念是什么意思呢?给大家解释一下,这个概念模型简单来理解就是名词呀。在我们业务当中会有很多的名词在里面,那么一个名词就是一个概念啊,你把这个名词给它归纳出来,形成一个概念就OK了。比方说我现在想做一个叫用户登录的功能,我要做一个用户登录的功能,问问同学们里面有没有名词。名词动词有没有名词啊,有没有什么是名词用户吧,登录是什么,是不是动词啊,动词我们就不管他啊,动词不管,我们只考虑名词,因为名词就是一种概念啊,那么好,用户它是一种概念,我就要把这个概念把它转换成对象模型,说的简单点,把这个名词把它变成一个类。
07:04
怎么变?我提出了一个概念,想把它变成一个类,我会怎么变呢?怎么转换呢?啊同学们用户吧,那首先我是创建一个类吧,创建类这个类是叫有的啊问题就来了,有的里面有哪些属性,然后有哪些方法。对不对,那这都我都给分析出来啊,所以这都是根据我们业务当中的一些需求,一些要求一些东西,我们来分析出我们的类,分析出我们的属性啊,就是这样。刘德华不唱过一首歌吗?叫中国人吗?中国人当中有句有这么一句话叫什么呢?叫做黄色的脸,黑色的眼是吧?那好,他就说这么一句话,这么一种歌词吗?或者同学们,如果我现在要你们把那个中国人这个概念给他什么呢?变成对象模型的话,按照刚才的歌词,你们会怎么来分析它的属性呢?黄色的脸,黑色的眼。啊。
08:03
来来,咱就说,咱就说这个事儿啊,咱就说这个事来。比方说我现在就要求你们把刚才这些名词呀,给它分析成或者转换成对象模型,你们会怎么做?你会怎么做?是不是我们首先得有个class呀,对不对,这个class应该是个什么,如果我们要写的丰富点的话,是不应该是个呢?是不是什么叫呢,是不是人呢,哎,人,然后呢,如果有了人之后,然后怎么办?是不是再来个中国人呢,对不对,那这样的有巨化的一种现象嘛,所以我们的class是不是,哎就这样的啊,那我就Chinese是吧,不会写啊好,然后呢,是吧,然后写个好了。是不是这么写啊,没错吧,哎,这有父类有子的感觉丰富了吗?好属性呢,同学们,属性。现在其实我刚才说过了,我刚才可说过了,我说的是什么黑是吗?黄色的脸,黑色的眼吧。
09:04
脸和眼是不是属性?他不,他不是行为吧,肯定属性,可是是属性的话,问题就来了,是静态的还是成员的呢?啊,同学们啊,是静态的还是成员的呢?是不是静态的呀,为什么?因为所有的中国人的脸都是黄的吧,眼睛都是黑的吧,但你要特殊情况咱就不考虑了是吧,什么白白花病之类的是吧,那不考虑了啊,就是正常情况下,因为咱们黄皮肤的人嘛,肯定是黄色的脸嘛,对不对,肯定是这样啊,所以这是所有的中国人的表现是一样的,你你用成员的合适吗?不合适啊,记住这是所有的中国人都具有的什么相同的属性,用静态的就可以了,所以我们这里要声明的话是什么,是不是对不对,然后呢,什么东西啊。Face呀,诶老师不对呀,你不是黄色的脸,应该写个color吗?但是你要记住颜色只是皮肤的一种吧,对不对,一种外向啊,对不对,还有别的呢?所以说我们是不是应该再增加个什么东西啊。
10:12
是不是增加一个我们的face的类啊,是不是啊,然后里面才会有颜色吧,但是每一种皮肤你要记住我们这个脸没有说中国人的脸嘛,你可能还会用美国人的脸对不对,还有非洲人的脸,所以这个脸是谁的不知道,那么所以说我们的这个属性的颜色应该是什么样子的?啊,应该什么样子的,是不是color啊,哎,就是这样,你这么写就行了,那你这么写完以后,我们是不是就得这么写了,是不是啊,哎,就这么写了啊好,那么还有刚才说的什么东西啊。黄色的什么是不脸啊是吧,黑色的眼吧,那所以说还应该怎么写啊,是不应该有一个什么,是不是这个东西啊,诶就这样是吧,然后你在后面再加个什么东西,是不是我们的爱就出来了,然后里面是不是也有我们的颜色呀,黑色的嘛,是吧?啊,你美国人可能蓝色的自卑的是吧,诶就是这样。
11:03
所以说你会发现就那么一句歌词,让你分析一下,你会分析一大堆东西出来,啊,为什么呢?这就是一种转换呀,把一种概念,把它转换成我们的对象啊,啊就是这样,你们不最开始学的不就面向对象编程吗?那不就全都有对象在里面吗?怎么分析怎么实现,诶,老师,这全都是静态的,那哪些是成员的呢?哪些是成员的,比方说你叫什么名字吧,这个每个中国人可就不一样了,你叫什么名字啊?啊。是不是我们就该写成什么了?是不是叫做name呀?这个名字每个中国人是不一样的,你叫张三,他叫李四,他叫王五,他叫赵六,是吧,田七,那都是。那所以说在这种情况下,每个人都不一样,那每个人的名称属性都是变化的,我们就要增加成员属性啊,就是这样,所以啊这样的话,我的name不就出来了吗?啊现在我们中国好像是不允许起起两个字的名字了。啊,现在不允许了,为什么呢?因为我说我说我说了啊,你叫什么名字呀,我叫张三啪,一查几千个。
12:06
那这样的话,他们说了,我们用起来不方便,找起来不方便啊,就是我们这个政府部门啊,为了他们的操作方便,为了工作效率呢,他不允许我们起两个字的名字了,他说我推荐你们起四个字的名字,推荐下起四个字的名字啊,推荐啊,为什么呢?重名的可能性比较小啊,那这样的话,比方说你叫什么什么名字是吧,一查就出来了,就那么一两个,很快就定位了啊,但是。咱们中国人的这个这个心里还是受不了的,老老感觉跟小日本似的是吧?啊,所以说中国人他这个不乐意啊,政府推荐那你不乐意啊,就是这样,所以中国人现在就都起三个字的名字啊,就是这样,我们家孩子当时呢,那个我们去那个什么呢,办那个户口的时候,别人就说了那个名字怎么起的。啊,我们我们起完这以后说还不行,我们当时就起两个字啊,别说哎再多起点,多洗点多起点啊,就这么说是吧,后来后来后后来后来我说那多起点起几个,起四个呀,对对对,起四个起四个,那就这样是吧,后来你想我要起这个字,我我妈得疯了啊是吧,我就起了三个字的名字是吧,嗯。
13:13
就是这样,所以这就没有办法是吧?嗯,所以说呢,我们说了,通过我们的概念,通过名词呢,把它转换成一个一个的对象,然后组合对象之间的关系,那这样的话,对象有了,对象有了,我们再把它转换成我们数据模型,就是数据库的表啊,那么这种转换就会相对来说容易一些,比方说我们的类怎么了。就可以变成我的表了吧,那我的属性呢,就可以变成我们的字段了吧,对不对,哎,就是这样,但是问题来了,问题怎么来了呢?我们这里是不是他也是一个对象,他也是个对象啊。那你能说把这个对象当成一个属性不行吧?所以说在数据库中是不是应该有两张表,一个叫做中国人的表,一个叫做face的表,然后呢,在中国里面去关联那个的表啊。
14:02
表之间就有关系了吧,你们学过应该有个外键对吗?外键,所以关系就这么来的,那就这么来的,所以说属性我们有了,然后呢,我们的那个表的关系咱们也能出现,这不就可以了吗?啊,所以说呢,我们只要先把这个搞明白,我们再来设计数据库就非常容易了啊,先把概念找到,把概念变成对象,再把对象变成数据库当中的表啊,就是这样啊好了,这个呢,我们就说一下就可以了,接下来我们简单的来演示一下这个工具的使用啊来。那么我们下面呢,这个视频是没有的啊,因为我现在正在讲啊,就是说讲完之后才有这个视频啊,所以这个下面是没有的,嗯,那么我们现在要干什么呢?把这个咱们打开来,同学们你们,呃,上午呢,拿到这个soft里面有个叫做power designer,把这个呢给它什么呢,安装一下,这个好像应该是没有任何的问题的啊,有特殊情况咱们再说吧,应该是没有什么问题的。呃,一路啊,都是默认安装,安装到最后呢,可以把这个破解一下啊,就是把破解,因为它收费的嘛,给它破解一下啊,破解之后呢,我们就可以去使用它了,那么在我们的桌面上会出现一个小图标,这个图标呢,就是它了,点点完之后啊,这个就是我们的power designer,专门用来我们做数据库设计的,那么这里怎么做呢?咱们就简单的给大家演示一下,那么首先我们的左上角有一个create创建点击,点击好了之后,大家看我要选择这个东西什么意思呀。
15:32
叫物理数据模型,其实就数据库的表,然后呢,既然我要创建物理数据模型的话,下面就会问你了,你哪一个数据库啊,哪一个MY啊,其实里面还有很多什么我们的Oracle啊,还有别的一些东西,我们用的是MY,然后呢,我们就直接点击OK就完事了,很简单啊,先create,然后点击OK,点了OK以后,我们右边会出现一些小图标。
16:00
我们现在啊,所有创建模型的工具呢,都是用图标的方式来展示的,所以我们右边这些小图标可以创建模型,其中大家鼠标放上去有这么个东西,怎么样table,所以你把这个table给他拿过来,拿过来以后你会发现,诶,这个表就有了啊,这个表现在就有了,那么有了的话你叫什么表啊,比方说咱们刚才说用户了,那好把它放大。放大以后双击,双击以后这个地方就有一个名称,咱们就叫用户就可以了。用户,但是呀,你要数据库里面表的名称一般不会用中文,所以呢,我们下面写上叫T下划线。我在那个U的用户的意思嘛,然后前面加了个叫替下划线什么意思。那是因为我们在数据库当中会有很多不类不同类型的对象表示其中之一呀,还有什么视图,还有什么索引,所以不同类型的对象呢,它的前缀不一样,我们选择T,咱们就要table的意思,那如果是个V呢?
17:03
View是图,那如果我写个ind呢?Index索引的意思,所以我们一般会加前缀来标识它的用途啊,所以我们这里写个T就表示的是我们的什么表啊,就这么个意思,所以我点击确定,点完以后你会发现大家看这个表就变化了,叫用户了,但是呀,你光把这个表创建出来不行,为什么呢?里面有字段呢?那么有字段的情况下,就好比类中有属性一样,那么我们用户里面都有什么样的属性啊?什么属相,那比方说用户登录,用户登录当中用户都有哪些属相,账号和密码吧,所以我们这里是应该是账号和密码,所以我写上咱们叫做什么呢?叫做用户的,咱们叫登录账号吧,咱们叫登录的账号,诶下面呢,还有一个叫登录的密码啊,我们会拿这两个字段呢,这两个属性呢来进行登录操作,所以账号和密码啊,他我们说了嘛,数据库中一般不会用中文,那我们用什么英文,比方说叫log in叫account。
18:08
啊,账户的意思,那么这个呢,叫做password,或者叫user password,简写一下user password啊密码的意思,所以这样的话呢,我们的两个字段就有了,但是你们也学过,数据库的表当中一定要有组件吧。我们这有吗?没有,所以我们要加一个主键,那么加主键的话,我在上面,诶我就可以给它加一下了啊,这里我们来点一下,然后在这儿。我写上一个叫主见。好了,那么组件我们一般都是用什么ID啊,就是这样,所以现在我把字段就准备好了,但是你把字段准备好的话,有问题什么呢?类型你没告诉我呀,因为不同的字段它的类型是不一样的,比方说我们的这个ID。他要是一个组件的话,那么应该是个什么类型。应该是一个我们的数值类型对吧,因为什么我们要自增长对吧?所以我们这里用一个int类型,然后呢,它的默认长度是11位的,那就是这样,然后呢,在这个地方同学们看一看,我现在想要让它自增长,我该怎么做?
19:17
我应该点击它,然后呢,里面有这么个勾,然后呢,给它应用确定它就自增长了,诶老师什么意思,我看不明白,怎么就这就自增长了呢?我们看不明白没关系,那是因为啊,它会自动来生成蛇口纹,所以大家看我看这地方有个什么东西。说预览呢,我点一下你会发现怎么了。你会发现你在画这个图的时候,是不是这个已经生成了,你会发现是不是里面有个ID,是不是in的11位的,并且是凹啊自增长,诶不就这意思吗?所以啊,刚才我的操作就这么来的,我刚才呢是点击了组键,然后选择了前面这个点,然后把这个给它勾上了,你把它取消了,再点应用,再点确定,你再看预览怎么了没了啊就是这么回事儿啊,所以呢,了解是怎么操作的啊,然后呢,我这里呢,再点给它变回去,好变回去,然后应用确定。
20:16
点完以后,但是我们说了ID是主线呢,所以它这两个有复选框,这个复选框给它勾上,勾上了以后点击应用,再点我们的预览,你会发现它这边呢,就已经加了一个组件,所以啊,我们在这里面的任何操作,它最终都会生成蛇口文,那就方便了很多,我不光把模型创建出来了,连蛇口文我们都有了,那有了蛇口文以后,直接在数据库里面把它创建出来不就完事了吗?啊就是这样,所以这种工具还是非常不错的啊。好了,那我们现在知道组件已经有了,那么接下来呢,登录账号这个类型我们应该写什么。啊,我们这个数据类型,那你就分析一下它到底是数字呢,还是字符串呢,对吧。
21:03
我们这个登录账号是数字还是字符串啊,那你要想想我们在一般在登录的时候,什么写个什么张三呐李四之类的,对吧,或者你写电话号码,电话号码是不是也是个字符串啊,啊,也是个字符串啊,所以在这种情况下,我们用字符串来表示,可是在我们字符串当中,数据库里面它分两种,一个叫可变字符字符串,一个叫不可变字符串。啊,所谓的不可变的,就是说它长度受到限制了,那可变就长度没有限制啊,一个叫变长,一个叫定长嘛,就这个意思,那么我这里是用定长呢,还是用变长呢。那就取决于你输入的这个值是不是变化的,对吧,那比方说张三李四长度一样吗。张三李四一样吗?长度一样吗?啊,你们说的中文是吧?哎,谁登录账号会用中文的,现在有哪一个网站那个登录账号是用中文的。
22:05
有吗?是不是少吧,而且在注册的时候,他也要求你必须是英文字母加数字吧。是不是啊,我就很奇怪,你们还能说一样啊,那下回举例子还真是啊,下回举例子不能拿这个举了,是吧?嗯,好吧,那我们说张三李四,咱们说的是汉语拼音啊,咱们说的汉语拼音啊,嗯。好吧,那张三李四汉语拼音肯定是不一样的,说我们这里用变长字符串,变长字符串用什么类型。是用窝差啊,哎,用窝叉啊,那长度是多少呢。255。啊,255同学们知道二五什么意思吗?为什么写成255吗?最大的。我我我写1000不行是吗?啊,同学们。我行不行可以吧,那什么意思啊。
23:02
不知道是吧,好一会儿解释一下啊,就写255啊,就写255,一会儿再说啊,那么那个密码呢。它是变化的还是就变长还是定长变长是吧,因为每个人的密码不一样嘛,你叫123123,我叫什什么1234对吧,它不一样啊,这是没错的,所以它应该它应该也是变长的,但是在我们实际的使用过程当中,应该是定长的。啊,为什么呢?因为如果在数据库里面你的密码是123 123的话,同学们想想你的密码你能够让别人看到吗?能不能?如果你的密码是123的话,你自己知道,但这个密码你能让别人看到吗?有老师别人看不到啊,数据库管理员能不能看到?能吧,你能让他看到吗?不能吧,为什么呢?因为咱们现在很多的人呢,很多的网站,很多的邮箱都用的同一个密码啊,所以说如果这个什么,我们的数据库管理员把你的密码看到了,他可以拿你的账号干嘛呢?在别的网站去试呀。
24:00
就有可能什么呢?破解了,那就这样,所以说我们网站的数据库的密码字段是不允许明码保存的,什么叫明码啊,你写123 123,我保存就是123 123是不允许的,它一定要什么加密之后再保存,而加密之后的字符串的长度是什么,固定长度32位的,所以我们这里用什么会合适一些啊,定长的32位会合适一些啊,就是这样,这个咱们后面会讲到这个加密的这个事儿啊。那我就先提一提啊,在2010年的时候出现个事儿CSDN。CDN,它的数据库的数据被泄露了,泄露之后在网上就开始卖啊卖用户信息,而大家就发现这个用户信息当中的密码字段是明码保存的,CSDN那就这样,所以当时就出了这个事儿以后CSDN发布了一个官方通告。如果你是我们的会员,如果你的账号在别的网站上是相同的,请你马上修改。
25:02
啊,就是这样,因为你在我们这儿被什么泄露了,泄露以后别人拿着我们这的账号和密码在别的网站一试成功了,你丢东西了,跟我没关系啊,就发了一个公告,后来别人说了,诶,你们一个CSDN专门搞这个技术的,怎么还会用明码保存呢?他说我们这是因为零九年之前都是用明码,零九年之后都是用的是加密之后的。啊,就是这样,他就说这么个事儿是吧,把这个锅就甩了,甩给零九年了是吧?啊就这样,但你想一个搞技术的人干这个事,而且4S店在家va行业当中还是比较出名的吧,那个论坛就出这么个事儿啊,当时我记得我朋友还买了呢,150块钱买了可能有可能将近50万条用户信息,150块钱啊,就是这样,大家可以想象一下用户信息多不值钱。是吧,你会发现,诶我怎么刚买个手机号,怎么那个什么那个电话什么中介电话就全来了,是不是啊啊刚买的是吧,早就被泄露了,然后你说诶我的你你你跟那个卖电话那个人说了,说诶怎么电话号码别人知道了,说我不知道啊。
26:04
这我不知道啊,哎,就是这样器早就卖出去了是吧?啊所以呢,我们这个密码字段是一定要加密以后再使用的,那所以它是一个固定的长度,大家知道就行了啊,这个32位,我们现在要说的是那个255这个事儿,255。为什么它是这个字不是别的呢?给大家解释一下,举个例子,比方说现在有一个集合啊。有一个集合,那么这个集合呢,哎,比咱别说集合了,比方说有个数组吧,啊有个数组来,咱们这个数组呢,我写个is等于new in,它然后呢,我写上一个什么呢?五我问问同学们,现在我想循环便利的话,我会怎么来循环便利咱们这个数据。我现在这个数值想循环便利,我会怎么循环便利?啊,同学们。是不是环啊,然后呢。然后怎么写啊。是不是我们印他I等于零小于就行了?爱加加吧,我会这么写吗?S点会不会这么写啊?可以吧,但是我们一般不会这么写,为什么?因为速度的长度是固定的,对吗?我一旦声明好之后能改吗?
27:17
能不能改,不能改对不对,所以我就写个50没中没没有错误吧,哎,就是这样的,所以我就这么写好,这是我们这么写,那么同样道理,现在如果我是个list。而例子是不是也是个集合呀,也是个数组吧,当然这个数组咱们说了,它是多个数据的意思啊,那我现在往里面放数据,比方说点,然后呢,我写上个一,然后呢拷贝,拷贝以后,然后呢我放放到这边啊放哪去了?然后呢,把这个拿过来啊,拿过来我这个电脑的。左边CTRL键不好使啊。所以我只能是用右边这个两个手一块来做操作,嗯。
28:00
好啊,行了,那我现在写完以后,同学们,我现在要循环的话,我会怎么写啊。我会怎么写,我循环的话。我们是不是应该是int I等于零,I小于,我能这么写吗?同学们能这么写吗?你现在这么写是没有错误,但是万一我再往集合里面加数据,你这么写就不对了。你这么写是可以的,为什么?因为你的长度是固定的五,那我循环五就没有问题,但是我现在你是个三吧,但我写完三以后,你能不能动态往里面加,能吧,你加完以后这个三数就不对,所以在这个时候我们是不是应该怎么写,是不是应该是这么写,应该这么写,那么所以说我们的定长是非常容易处理的,为什么它是固定长度,我想怎么处理就怎么处理,我什么都不用管,但是变长就不好处理。所以在这种情况下,我们的买蛇口数据库在我们变长的这个里面啊,在变长的里面,它需要用一个字节来保存字符串的长度。
29:09
什么意思,也就是说啊,我的长度,比方说255的话,但是我最多只能存254个,其中有一位干嘛了呢?保存我们数据的长度,那把那个长度保存起来什么意思?也就意味着我是这么写的,叫int,什么I等于什么list.size然后什么呢?哎,这个不对啊,这个写个这个吧,那我这该怎么写了。所我这么写就可以了,诶我就这么写就可以了,为什么?因为这个它是不是跟这个是一样的,所以说在我们的什么处理当中,会把那个长度单独来保存起来,这样的话呢,这个值是固定的了,为什么?因为我我取到了吗?我取到了以后,我就循环就完事了,只要这个值发生变化,这个需要变吗?不需要变,只要它一变就完事儿了,我往里面加一个它就变一下,加一个它变一下,那就完事儿了,所以啊,它会用一个字节来保存它,那么为什么是255呢?是因为如果超出了255个字节的话,我们的买蛇会用两个字节来保存长度。
30:11
小于255的话用一个,大于255用两个,所以我们最大的长度限制,也就是说当前就是255啊,就这样,为什么呢,用一个字节保存长度,但你只要写的256就是两个字节啊,这个你们了解一下就行了,就为什么是255有个限制在里面,而且255它恰恰是什么呢?它恰恰是我们的负的128。怎么了到我们的127之间的一个什么范围啊,一个取值范围啊,所以它有这样的一些要求在里面啊,这个我们了解一下就可以了,所以我们只要通过一些简单的约束和规则呢,了解这个数据库的表怎么创建就可以了,啊就是这样,诶老师,那比方说我当前的这个字段,我需要它是什么呢?非空的,我该怎么办?
31:00
飞空的。我把这个勾上就行了啊,所以来看啊,来把这个点一下点一下,我把这个给他勾上,勾上以后点应用,咱们来看预览。你会发现怎么了?你会发现是not now吧,但是我下面这个password没有给它勾上,那么什么意思啊,诶它可以为空,所以把这个勾和不勾就是决定了它的什么呀,我们的飞空的意思啊,这个了解一下,诶老师,那么为什么我们上面这个就勾上了呢?因为组件肯定不能为空吧,对吧,肯定不能为空啊,这都是有要求在里面的啊好了,这个呢,就简单的告诉大家这个软件怎么来使用就可以了,诶老师呀,那如果有多个表,那怎么看它的蛇口文呢?举个例子,我再来一个表啊,现在呢是一个表,咱们再来一个添加一个点,点完以后呢,那比方说我们就随便写叉叉叉叉叉好了,写完以后,那比方说我这张表我想看一看蛇口文是什么样子的,我我都想看,用户我也想看,我这个叉叉叉也想看怎么办?
32:03
这个时候啊,你不要双击它了,你双击它你看到的只有一个怎么办呢?你这样,你在我们左边的这个里面双击,双击以后这边也有个预览,点一下你会发现怎么了。是不是两个都有了,只不过咱们那个叉叉叉没有建立属性嘛,它也有啊,就是这样,并且它这里面还能保存的,你把这个点一下,点完以后你还可以保存到桌面上去啊,比方说我们的test啊,点击保存,诶这有了。嗯,费劲了啊,来,我们随便写一个TEST1,然后呢,点蛇口吧,嗯,点保存,保存以后确定好了,你保存过来以后,这个蛇口就有了,打开,打开以后蛇口纹就出来了,这样的话你想在哪用就在哪用,反正蛇口纹是有的啊,这样的话还是比较方便啊,所以这个工具没有别的,就是用来创建数据库的啊,这个大家知道怎么用就可以了啊,我们后面呢,会给大家事先准备一个创建数据库的一个表结构,咱们后面再说啊,咱们只要知道怎么用就可以了,嗯,好了。
我来说两句