00:00
上节课的时候呢,首先第一部分我们已经在这里边建了数据库,包括表数据都已经加进去了,然后记完之后,第二部分呢,我们要建一个boot工程,那我们下面把这工程创建,然后在里边做这个操作,拿来创建啊,这位置我重新创建,咱点个新建,建个工程,然后选择它,这是建一个损BOO,当然你也可以建个maven啊,这是损boot,很多东西帮我们生出来了,建ma也可以是咱需要自己在往里平台布置点东西,建哪个都可以,我为了方便就建个损布的工程,把这个创建。然后接完之后我点下一步。在里边大家看到这位置,咱要输入是不是你这个项目的一个或者这个词,各位是否知道啊,是不是叫一个坐标啊,你要输入它这个坐标,那比如这个位置我就给它起个名字,我就叫这个com点,比如叫这个at。硅谷。然后这里边起个名字,因为咱们用的是my plus,我就叫MKDEMO,然后1010啊,咱们10108这位置用的是JAVA8,然后创建之后呢,我们点下一步把这个创建出来,但是创建时候里面有这么一个特点啊,因为它这个位置呢,需要咱们选一个版本,这个版本呢,我们先随便选一个,因为咱在改中文版本,当你用这里边版本也可以,它这里边有一个叫2.2.4。
01:27
但是大家看它有2.1的,是不是还有2.3的,目前最新的已经到了2.3的,但是我建议各位不用最新的,咱找个稳定的,比如咱们一会儿就用我们这个2.2.1,当你用2.2.4也没有问题,我先选一个,一会儿改成2.2.1,现在我点下一步。这是我们的工程,把它创建出来,然后创建啊,我就在当前这里边创建出来。啊,第一次稍微慢一点,我就是这个窗口啊,咱创业,所以这是一个ven boot工程的一个创建,就这个过程,然后这里边注意啊,咱们现在用的s boot的版本,我们用这个是2.2.1的这个版本,用它来做我们的开发。
02:13
这个啊,创建了,然后创建之后在里边呢,大家注意,咱现在创建出来的是这么一个s boot的这么一个工程,在这里边呢,大家看啊,打开里边的home文件,它现在默认用的是2.2.4,你用这个版本没有问题,但是我们改成统一版本,用这个2.2.1的版本给它改一下。啊,改成这个版本,这个希望各位给他就改出来啊,我在这个课件中应该都写到了,把它改成2.2.1的版本。这是第一个啊,但是这个过程中呢,它需要就是联网去下载里边相关的依赖,就这过程中需要联网,所以各位的网啊,我觉得应该都没有问题,就是只要你能看到我这个直播,各位网应该都可以,然后咱们这个需要联网把依赖进来出来,如果说各位这个依赖下载失败,你怎么做呢?
03:10
第一种方式啊,你给他就是删掉再重新下,或者说我在这个资料里边。给大家提供的东西叫没问的仓库,你可以把我这仓库这些解压这些去用,我这里边把这些依赖应该都提供好了,就各位看你的实际啊,要不你看自己的网速,你下载一下,下载成功都好说,如果你失败的话,你可以把这关掉或者删掉重新下,如果还不成功,你把我这仓库这些解压用我里面依赖,因为我这仓库中把依赖都听出来了,包括里边各个版本里面都有。啊,这个是一个慰问的一个内容啊,包括就是之前嘛,很多班同学,因为当时我们在教室上课的时候嘛,因为网的问题,很多同学这个依赖经常下载失败啊,各位在家里网应该大部分没有问题啊,但是也不排除有失败的情况,你用我的依赖直接解压直接用就可以了。
04:03
啊,这个啊,是这么一个小问题啊,各位给他注意一下。关于这个没问问题啊,然后这个下载之后改成了2.2.1,咱们下面继续往下来做。啊,那我们看怎么来做啊。啊,这里边啊,第二步建一个损部的工程,这一步我们已经创建出来了。包括改成了2.2.1,然后这个做完之后,下面我们进入到里边,这个就是第三步操作啊,咱看要做什么事情给大家啊画到这个位置。然后第三步我们要干什么呢?大家注意啊,首先有一点,因为咱们现在是不是要用这个my be plus,所以说啊,你要用m plus里边的操作要怎么做呢?咱看这个文档中,在它里边啊,咱找到一个词叫安装,看它要怎么安装,其实安装呢很简单。啊,这网页有点慢啊,它就是啊在里边你看到。
05:03
是不是引入依赖啊,咱就引入这个买plus这个这行依赖,但是依赖引的时候有一个特点啊,我要各位啊,记这么一个,这应该不叫单词这个东西。你看这是什么啊。咱给他。拼一下,这不能要翻译一下,大家看啊,这是不是叫苞米豆,就是这个你给它记住啊,咱后面引入my plus依赖,都是用这个苞米豆中的依赖啊,把这引入,所以这个我们下一步就是引入它相关的依赖。我在里边写一下啊,第一步我们准备数据库和表,包括数据,第二步建一个损部的工程,然后里边的第三步,咱就是引入相关的依赖啊,这是第三步。引入相关的依赖,包括咱BOO的,包括买plus这个依赖。写一下啊,包括S的和MP的这个依赖,把这依赖都引进去,而这依赖不需要各位D啊,在我的这个课件中都有,咱们用的话把我这个直接复制可以了啊,那我现在把这依赖咱就复制过去啊,各位用的时候也是直接复制可以。
06:16
然后把它复制到我们这个破文件中,我把这一部分我就给它直接覆盖掉了。啊,直接覆盖一下啊,然后覆盖之后咱看一下里边这些相关的依赖。首先啊,同样如果说啊,这里边第一次可能他会联网下载,我这里边已经下载过了,如果你下载失败,用我那个操控中的依赖,然后这依赖是什么,咱们从上到下看一下啊,第一个依赖就是此轮boot那个。Start依赖,包括还有损部那个test,这个测试那个依赖啊,这是损最基本依赖,然后除了它之外,大家看这依赖,让各位记住。是不是这个苞米豆啊,这就是买be plus的依赖啊,但他用三点几的一个版本。
07:02
然后除了他之外,里边有一个买circle的依赖,然后除了他之外呢,你发现我这里边还有一个依赖。这依赖我说一下啊,其实咱们现在没有这个依赖,咱的功能也可以做,这依赖是什么呢?它是用来简化咱们实体内的开发,是怎么简化,我先说一下,然后马上演示,比如说咱们建个实体类。实体类中是不是有属性,包括它的get和set方法呀,那咱用这个依赖之后,你只需要加个注解,Get set方法都不需要写,就是为了简化这一类开发,但是没有它,你就手写get set的方法有没有问题啊,但是为了简化,所以引用这个依赖,所以这是需要的一些相关依赖啊,主要是这些,各位从我的课件中直接复制可以,我在这里边啊,给大家都写出来了。然后这步做到之后,第三步做到了,咱下面进入到我们的第四步。
08:01
然后第四步做什么呢?呃,给大家写这里啊,第四步。这么来画啊?是画到这个位置,第四步的做法就是刚才我提到这里边呢,咱们刚才引入了一个新的依赖,它叫这个依赖。这词各位记住啊,叫longbook这么依赖,而这依赖是什么呢?它是为了简化咱那个事一类的开发,所以第四步咱需要做件事情,就是我们需要啊,安装一个这么一个叫logb一个插件,以这依赖才可以升效,咱需要把插件装上,那这一步我们是必须要有的,怎么装给大家演示一下啊。我在课件中应该都写清楚了,如果说你用的是IDEA2018版本,那做法就是找到plug搜一个longb这些装可以用2019跟他一样啊,都差不多啊,这里边演示一下啊,怎么安装,你点这个file。
09:01
然后在里边点一个叫settings settings是不是设置啊,把这点开,然后点开之后呢,在里边我们搜到一个地方叫这个Les。Play是不是有插件意思,然后插件搜完之后在里边咱找他啊,包你是1819IDEA都一样,咱直接搜一个就叫long book。然后你一回车它就会联网去找到logbook,因为我已经装过了,如果你没有装的话,里边应该显着叫in install,你点把它安装,然后你把idea重启就可以了,包一八版本是这个界面,如果你是一九版本啊,它是这个界面啊,都是一样的,到里边这个位置搜个longb,一回车你找到点个因此道把它装上可以了,这是安装一个logb插件。这各位啊,一会儿给他都装一下,就是直接啊,只要你联网有网就应该能装上。啊,没有特别的地方啊。
10:01
这是咱说的里边的第四步,安装一个logb插件啊,就按照我的步骤来做,我在课件中的把每步具都写到了,然后我会在图上把一个总体流程给大家写一下,然后我建议各位啊,你可以参考我这个图,包括今后的笔记,最终这个环境都能搭建出来啊,这是第四步。然后这步做到之后啊,咱下面继续往下做,进入到我们的后面几个步骤。啊,那我写一下啊,就是我们里边的第五步。然后第五步做什么呢?给大家强调啊,就是这个步骤,其实你做的顺序无所谓,但是这些事情咱肯定都要做,所以我里边的第五步是做这个事情,直接配置这个obligation.pro这么一个配置文件啊,所以第五步我们就来做这个事情。就是来创建这么一个文件,然后在里边做这个相应的一个配置啊,就是创建一个文BOO工程这个application.pro这么一个配置文件。
11:05
这配置文件我觉得各位之前应该都学过啊,那我现在我想问这么一个问题啊。问大家啊,在我们的BOO工程中,你可以建一个叫pro这么类型的配置文件,那咱们还可以有什么其他类型的配置文件吗?我也应该讲过,Property的这个类型文件没有问题,当然还有一个类型文件在损部的过程中也可以用。我看同学啊,马上回复我到了,不然没有回复同学是否记得啊,说你不记得给大要记起来啊,还有这个文件是不是这个样的文件,用practice样都可以啊,看你的喜好用哪个都可以,因为两个啊,他们都能写我们操作,那我们就是前面我们先用practice,后面啊,咱看后面再用的样了啊,咱们慢慢来用,那我现在在里边呢,我就用这个pro的这个配置文件。因为咱们刚才建的是损部工程,这个文件已经给我们创建出来了,这个文件,我们这点在里边呢,我们就是啊。
12:08
把这个里边内容咱们做一个详细配置,然后它的配置应该说是比较固定的啊,就是这么一段配置。那我把这配置咱就直接复制过来。给大家啊复制过来,但是配置中复制过来之后,我要说有一个问题。不知道各位之前是否讲过啊,我就当没有讲过,我来提一下啊,什么问题呢?大家仔细看啊,你注意啊,首先第一个你看啊。这里边有个地方叫com.my circle.jbc点。这是表示我们那个驱动的地址,包括你看下面这个是不是你的数据库那个地址端口号,包括数据库名称,但是大家发现啊,这两段配置是不一样的,而我刚才复制的是不是下面这个配置。我来说一下为生,我这么做啊,给大家强调,比如说这里边第一个你明确我们现在用的sir boot,咱用的是不是二点二点几的版本,用的是这个版本,所以我强调啊,如果说你损boot用的是2.1以后的版本,咱就需要换个驱动,用这个驱动加个叫CD,然后换完之后呢,在你的数据库地址后面还需要加个东西,这个东西。
13:26
这是什么呢?给大家提一句啊,这个东西就表示要加上里边那个叫时区。什么叫时区呢?各位应该知道啊,咱们中国属于是不是东八区,所以咱要加个时区,把这个需要加上啊,这是2.1以后需要改个驱动,加个市区,但如果说你用的是2.1,包括以前版本这个可以不用加,就你不用这个,还用之前那个,就是最古老的。这个东西还有它,但是你用2.2开始必须要加上CG和市驱,如果不加会报错,但是这个驱动可以用之前的,但是它会有警告的提示啊,所以这个各位注意啊,2.2开始咱这个驱动地址和数据库的地址都要发生变化,我这里都提到了啊,如果你不加的话会报这个错。
14:17
说里边啊,没有这个时区啊,没有这个设置,包括驱动你不改会有一个警告。所以咱现在啊,我们用的是这么一个地址啊,这各位在复制的时候特别注意啊,加上它。这是我们说的里边的就是第五步啊,然后第步做完之后,咱们第六步开始就来写这个具体的代码部分了啊,咱就开始写代码。然后写一下啊,第六步。这位置啊,我们要写代码,那我们写什么呢?答案肯定是写那个实体内啊,包括这些相关的这个内容啊,第六步写代码。那我在里边啊,把这个我们就来具体。写一下啊。单写的代码。
15:00
那怎么做,在我们这里边这些我先都关掉啊。那大家看啊,首先第一个在我们的死BOO工程中,是不是有一个启动内容。这个词我应该听过啊,这个叫启动类,然后有启动类之后,然后第二部分,比如说我们首先因为咱要操作数据库嘛,我在里边呢,就来创建一个实体类,把实体类我们先创建啊,咱先来一个包,这个包有不同的叫法,有人习惯叫B。啊,我习惯叫这个名字啊。Anti题实体啊,这看个人习惯啊,没有说一定怎么去做啊,然后创建之后呢,在里边,比如说我再建个包,我教这个map。因为咱是啊,就是my view plus有卖部分,这是我建的两个包,建完之后在anti里边咱们建一个实体类。这个类名字我就叫user。把这个创建啊,然后创建之后对应我们的数据库表,把里面的属性写出来,这属性我不敲遍了,把这直接复制了啊,就是这么几个属性,包括ID name age email这些都给它写出来。
16:13
然后洗完之后,刚才我特别提到一点啊,我说各位是否记得啊,就是咱们这个依赖的一个作用。如果说呢,你现在没有这个依赖,那我们里边咱是不是要写它的get set方法,这应该比较麻烦,但是有这个依赖之后很方便,咱们只需要在类上面加个注解。这个注解。就是它大家看啊,Log book里边的这注解是不是叫date,加上这个注解之后什么意思,它就表示会帮你把这些属性的get set方法和它的有参无参构造都会生成出来。啊,这是我们家注点,包括单这个位置一个叫structure里边你看这个类中。
17:00
Get set的方法有参无参,构造里边应该都有啊,这些应该都存在,所以这个啊是我们就是做到的这么一个。Low box插件它就这么来用啊,咱建是一类,后面都这么做,所以各位啊,一会把这插件都给它装上,刚才都提到了,你直接到里边搜个long book给它in了装上就可以了。这个啊,实体类的创建,然后创建之后呢,下面咱再建一个map。但是map不要强调啊,不知道各位是否记得啊,咱们在买杯阶段学的时候,我们见map。Map各位要知道它是不是一个接口啊,然后有map是不是有对应的插文件呀,所以咱现在map跟它一样,咱们也是建个接口,就这位置我们选个interface。比如我们叫U。Map啊,咱做个创建,但之前呢,咱有一个他人文建,现在这文件不需要我们做,因为在我们的my class中给咱做做了封装,咱只需要做一件事情,做什么呢?让这个接口来继承一个接口,要这个接口。
18:11
给大家写一下啊,大家看这接口。它叫什么base map,然后里边加个泛型,就是你那个实体内咱叫user,这样的话就完成了这么一个map的写法,我把这依赖给他引进来。啊,完成了一个写法,而咱们现在这个base map,咱看他的包。是包米豆中的是由MP听接口,咱们只需要让我们的map接口继承它,然后就能用里面的方法包,大家看这个base map中咱们点进去看一下啊,点CTRL进去你看里边。是不是有各种方法,这些都是由MP给咱们封装的方法,不需要咱们写,咱们只需要让我们的map接口继承它就可以了,啊,只需要这么做就足够了,别的不需要再去做了,这就是他一个使用直接接口继承贝斯map,写上你的是一类,然后它就能调用里边提供到增删给他方法,这用的操作就是插入文件也可以省略了。
19:14
啊,这个啊,咱就把这个做到了写代码,然后这个写完之后啊,这里边还有一个特点,或者说各位是否记得啊,应该是我们之前讲到的。我这里详细说一下啊,因为咱们现在这个map是一个接口,而我们在做这个boot启动的时候,它这接口要找的话,应该会找这接口对应的实现类的那个对象,但是它没有实验类,所以这里边默认会找不到,咱需要在这个启用类上边,或者你加配类上边加上一个注解,这个注解。这一不知道各位是否记得啊,这注解叫map看。啊,如果你不记得,我这里详细说一下啊map,此看此看是什么意思。
20:03
是不是有扫描意思啊,它就表示啊,去扫描到你那个map接口,然后找到里面内容,然后实现这个操作啊,然后在后面加上你那个麦接口那个包的那个地址,就这个地址。我把这个加上这样的话啊,他要能找到map,如果说你不加这句话,你启动它会报错说这个map这个找不到啊,所以这各位注意啊,Map sky找到map这个接口就用这个内容啊,这必须要加上。这这啊,我们做的这些代码编写,所以现在把这个基本环境做到了,我重复一遍啊,第一步就是引入依赖。主要是lowb啊,包括my view plus,包括这些相关依赖,然后第二部分咱建个实体类,里边用了这个插件,加个date注解就可以了,不需要手动写get set方法,然后第三步写了一个user map的interface接口,让他继承bit map就可以了。
21:04
其他的不需要写,因为在base map中把这些给咱们都做到了,然后最后啊,我们就是在启类上边加一个map,看然能扫描到这个麦,这个接口,如果你不加的话,默认它是找不到的,这样的话我们把这个就完成了啊,这是它里边的这么一些基本步骤。啊,这些我们都写到了啊。然后这些呢,我们都写完之后,最后咱来做个测试,怎么测试呢,就是你可以写个问方法啊,但我现在为了方便,我们就这么来做了啊,咱就直接在这里边做了。这个各位应该能看到啊。这是比较test的,是它里边自带的一个测试的这么一个类啊,但是它这类啊,在生成的时候大家就会发现啊。前面是没有public,没有也可以啊,你加上也没有错啊,不加它也能运行,那我在里边给它加上啊,再加个public,不加也没有问题啊。
22:02
然后加上之后,我们在这里边咱来做个测试,用这种单元测试方式,咱们把MP做最终实现,因为咱们现在还没有想那个c Swiss,咱在后面在项目中再具体写C调Swiss调map的过程,现在啊,我们先做一个基本的测试。啊,就是在这里做到啊,那首先咱先测试第一个功能。啊,我写一下啊,什么功能呢?比如我现在啊,我就做一个最基本操作,我就想把这个user表中的所有数据都给它查出来。查询user表中等。所有数据啊,把这做到,那咱们看这该怎么做啊,首先第一个咱们刚才这个map是不是承了被map,那怎么做呢?大家注意啊,咱在最早应该都写过这种操作。Controller是不是要注入service service是不是注入map这个过程啊,但是在这里边因为没有control service,但是我们有map,所以咱们啊就把map给到注入到这里面来,然后在这里边我们做这个操作,就把map啊注入到这个T里边来。
23:15
那咱们啊做个注重。怎么注入,不知各位是否记得啊,有一个注解。叫O,咱加上一个叫private,这个叫user map,然后它的名字叫user map,把这个我们就住进来了啊,这是一个注入,但是注入之后大家发现。这位是报错了,所以我强调这个错误啊,第一个这个错误啊,第一种方案你可以不理会,就是你不解决它能运行,它为什么报错呢?你看里边提示。他说什么?没有这个BS啊,就是这个user map,有时候他找不到那个user map那个对象,因为user map是不是一个interface,所以第一个你可以忽略,因为它能运行,但如果说咱看到这个错误想解决怎么做,你在这个user map接口上面咱加个注解。
24:10
这注解有很多个,你加convenent,加这个service,或者加这个repatorary都可以啊,就是把它对象给它声明一下,让它交给子管理,然后这么加之后,咱再看这错误数就没了啊,这是一个问题啊,你不加也能运行。啊,就是加上之后,它就没那个提示了。然后加完之后呢,咱把user map就注进来了,注入之后在里边我们来做个操作啊,比如说改个名字参与所有,那怎么做呢?咱就直接调用user map中的方法,咱先调第一个,因为咱要查表中的所有数据来找个方法啊。大家看这个方法。它叫select list。返回的是集合,但是它里边有参数,说这参数要传条件,咱暂时没条件,我先来个空,直接让他做个返回,返回之后呢,就是把表中的所有数据都查出来,然后最后咱给他。
25:11
做一个输出啊,所以这个就是最基本使用,所以你看这过程啊,做法就是解11类,让user map继承贝map,然后咱直接调user map中的方法,比如我查所有,那就调set list,直接调里边的各种方法,包括大家看里边有很多方法,比如说你看这个。Insert。可以理解为是不是添加包有什么delete删除,什么update修改等等各种方法啊,所以咱后面就来讲这些方法的一个具体使用,现在我们把这个简单代码已经做到了。都做到之后,最后咱把它直接右键我们给他执行一下,就看一下这个结果是什么样的啊,把这个我们最终执行啊。咱看结果啊。
26:00
就是第一次它会比较慢啊,因为这里边有个特点啊,给大家也都说一下啊,Idea的特点是什么呢?它在就是第一次启动的时候会把你的代码做编译,所以第一次会比较慢,后面就变快了,就是把这个Java代码变成卡这个内容啊,那我们现在启动咱发现啊,这里边你发现有问题。这个位置大家看。这里是报错了啊,那咱看他报什么错啊,咱往后看。注意啊,往后看看他报什么错啊。首先大家看啊,这里边他报了一个错,你看这个错啊。首先问各位啊,不是这个错,各位是否见过啊?那现在我问大家啊,比如现在你在写代码中,他给你说这个错误,那大家说这是什么错误,说你该怎么找这错误。我希望各位给我一个回复,你说这个错误,各位该怎么找到?啊,这个啊,我先。
我来说两句