00:00
各位同学大家好,欢迎继续收看硅谷课堂项目视频课程,下面呢,我们就按照刚才咱们的分析步骤来实现一个MP的入万例,那咱们来具体看一下,首先我们的第一部分呢,咱们先创建一个数据库,包括数据库表,我这里边在课件中给各位提供了建表语句,这里边我们可以快速做创建,我这位置已经提前创建过了,这个过程比较简单,给各位快速说一下。首先第一部分咱们先创建一个数据库,我的数据库起名叫做买下游线plus,然后在里边呢,我们来串一个表,表的名字叫user,也就是里边的这么一段基本上语句,各位把这个语句直接复制,直接执行就可以了。我这里已经执行过了,然后大家看优色表已经完成创建,包括里边咱可以加一些简单的测试数据,这是咱的第一步创建数据库和表,然后这个做到之后,我们里边的第二步,我们看一下咱们可以创建一的boot工程,然后在里边引入MP的依赖,那这里边给各位快速创建一下,我在里边直接实现。
01:15
首先点文件,咱们新建一个工程,工程,为了方便,我就直接建一个损部的工程,然后在里边点这个死人布头工程的这么一个选项,咱们点下一步。在这个界面中加上这个这个坐标,那我起个名字,com.at硅谷。然后这个名字我们叫这个。鼓励课堂下划线MPDEMO。这位置选成JAVA8个版本,然后这个包就叫com.at硅谷这个部分就完成了,咱们点下一步做个创建,这位置我强调就是我们目前呢,此文这个boot它有很多的版本,而在idea里边,这里边默认用的它那个最新的版本,而我们现在咱们规定一个统一版本,我们现在统一用这个2.2.1的这个版本。
02:12
这个版本呢,我这里先随便选一个,一会咱们在项目中改成2.2.1的版本,那现在我点下一步,然后这里边选择咱们项目所在那个路径,那我来选一下,我项目就放到这个路径下。咱们的代码这里边,然后在这个位置把这个创建出来,再点完成进行创建,所以现在这个此人步的工程我们就快速创建出来了,这是咱的第一部分。然后创建之后,咱们需要改个地方,把这里边的po点差漏中它这个损部的版本我们改成这个2.2.1的这个版本,咱们做一个修改,咱们统一用这个版本方便咱们操作,这是我们建的工程,所以现在第二步我们就完成了,完成之后呢,在里边需要引入它的依赖,那依赖有哪些?各位看一下我的课件中,我这里写到。
03:12
首先各位看啊,第一部分是BOO的基本依赖,包括它的start,包括它的T测试,然后各位看这里边,这就是MP的依赖,我们现在统一用这个三点,3.1版本不是最高的,但是是一个稳定版本,包括里边有买so依赖,还有一个longb插件放在咱们实体类的编写,所以这是它的依赖部分,那我现在把这依赖我就直接复制到我们这个项目中来。咱们做复制,但是这里边呢,它需要下载我们一些,就是刚才那个损部的那个其他依赖,其实这个你可以把这个idea关掉,给它重新打开,然后它就不下载了啊,那我给他关掉,咱们给它重新打开一下,因为咱们现在统一用这个2.2.1的这个版本。
04:03
然后我强调啊,就是各位第一次用的时候呢,它需要联网下载,这个过程可能需要等一会儿啊,所以各位需要多等一会儿,然后等它下载完成之后,我们在里边再用这个依赖的引入,我等他打开,然后把课件中MC的依赖给他直接就复制过来。那我们来到这里边。我们看到啊,这个咱们先打开,然后把这个depend的这部分给它直接替换掉就可以了,替换成我课件中的这个依赖,刚才咱们都做了一个说明,所以现在我们这个入案例中的第二步,咱们就快速完成了建的工程一种依赖,然后下面呢,我们进行第三步,第三步干什么?创建配置文件,包括它的启动类,那咱们写一下。大家看啊,在这个过程中呢,配置文件已经把这个文件创建出来了,然后在里边咱直接复制里边的内容。
05:01
我把这个复制。这个咱直接拿过来,然后复制内容中特别说明啊,里边有这么一个小问题,给大家详细说一下啊。大家注意啊,咱们目前用的boot是2.2.1的版本,我这里特别说明罗尼boot是2.1及其以上版本,那这个时候呢,它默认用的是买SQ8的这个驱动,注意啊,各位听懂我的话,用的是买SQ8的驱动,就你买搜Q数据库该什么版本还是什么版本,它只用了新的这个驱动,所以咱们现在需要把里边的路径和地址需要改一下。大家看一下啊,我这里有两个地方,第一个地方驱动里边多了一个什么CD,然后在地址中做这个地方。这是什么东西,大家看一下。各位应该能猜到啊,这就是什么,咱们当前这个时区,因为咱们中国嘛,属于东八区,你需要加这个时区,所以这个你需要注意复制的时候别复制错,比如我刚才呢,MYSO这个地方我是这么引入的,然后在里边呢,我没有加那个worship。
06:12
如果你加version的话,可以指定用的是无电极的版本,如果你没有指定version用的是八的这个版本,所以咱们需要在这个地址中,包括驱动的路径中给它改上这两个地方,这各位注意啊,所以你复制的时候注意啊,复制下面这个,因为默认用的是my circle8的这个驱动。这个咱就完成复制,然后复制之后下面呢,我们再看里面那个启动类,这里边应该是已经创建过了,这是我们的启动类,所以现在咱们把这部分就完成了,完成之后呢,在里边把它的实体类咱们创建出来,那我来做创建。首先我建个包的名字,我们叫这个。Anti体就是实体意思,然后anti体里边建个类,类的名字,我就叫user user里边有它相关的属性,这些属性部分我就从课件中直接复制了,各位自己写的时候属性也不需要敲扁,节约时间咱直接复制。
07:14
然后复制之后在类上边加上一个注解,这个注解叫做date。Date什么意思呢的,生成属性的get set方法,还有当前类的有参,包括无参的构造啊,这里边都生出来了,所以咱们现在用这个data注解,其实用的是一个插件叫longb,这个插件你要用的话,我课件中也写到了,需要各位在你idea中安装这个插件,过程很简单,咱们开头看一下啊,你点file,点这个叫settings。然后里边找到一个地方叫这个plugins插件,在插件中直接搜索这个lobo就可以了。各位看啊,我这里已经装过了,这里边有没有的话,你在里边搜索这个low。
08:04
然后完成这么一个安装,也是这个啊,别装错,这各位注意,所以现在咱们把这个最基本的过程应该就完成了,也是我们的第三步做到了,做到之后下面呢,进入到第四步,也是我们最核心的步骤。咱们在前面讲过啊,MP本质上就是买be,是买杯的一个增强工具,说的简单点,就你之前买杯子怎么写,目前还怎么写,而在买杯子里边,咱们创建首先是不是见过my interface,所以我们现在也建一个my interface。那我来建个map map里边建一个interface,我们起名叫user map。这样的话可以了。各位可以回想一下啊,我们学员买be体的时候呢,里边是不是有个对应的叉L文件呀,然后里边可以变现思后语句,咱目前也可以这么做,但是因为我们目前用的是MMPMP,有一个最大的优势,大家看这句话。
09:06
只需简单配置即可快速进行单表CR用于操作,从而节省单量时间,那怎么体现?也就是说你现在其实可以不写差模论件,直接通过一些简单配置就能快速实现单表的增删卡操作。那怎么做呢?我写一下啊,咱的做法就是一张map呢,继承一个map,这个名字叫base map。然后里边加上实体类那个泛型就是user,注意别导错包,而这样的话咱就直接可以实现自然给操作,而他怎么实现,他在base map中把里面的方法给咱们都封装好了,或者说都写好了,咱看一下啊,比如说各位看到insert。是不是添加delete白地来就删除,就各种删除,包括after修改,Select,各种查询,包括你看里边啊,还有一个配置是分页查询,所以它里边都有,那我们直接继承就可以了,然后调里面的各种方法,能实现单表的增删改造操作,所以这是里边的第四步,咱就完成了,比如说咱们通过这些步骤就完成了入门的一个基本编写。
10:21
然后最后我们可以做一个完整的测试,那咱们最后来测试一下啊。我强调大家应该知道啊,如果说咱们开发一个完整的一个项目,应该有这么几个层,就是controller service和map,因为咱们现在是单独学这个MP,所以咱们只开发了map,那我就在map中直接测试了,咱后面在我们实际项目运用过程中,肯定会有这个control service和map control注入service service注map进行测试,咱现在只是做一个简单的技术的一个学习,所以咱们通过map直接测试就可以了,那怎么测试咱来到这里边。
11:04
大家看啊,这位置是不是有一个test的,那我可以在test中这些测试,那我在里边写一下啊,首先方法名字我先改一个啊,比如我交这个find的O,比如咱就查表中的所有数据,我加个注释。所有数据那怎么做写一下啊,第一个因为你要调map,那我们的第一部分你把map先给它就注入进来,就注入你的map怎么注入,这是里面的基础知识。各位应该记得啊,或者大家可以想一下怎么注入。第一个里边是不是一个注解叫owa,或者说还一个注解叫那个resource,这个还有一个注解叫那个call fair,都可以实现,咱们现在为了方便通过这些注入,然后在里边加上private user user,这样的话把map就住进来了。
12:04
然后注入之后,我们明显看到啊。里边是报了一个错哟。为什么报错?各位要能想到啊,这是买杯子中的知识,因为大家看到啊。我现在里边只有interface interface是不是一个接口,接口应该对应有一个实现类,但是它的实验类对象并不是咱们new出来的,是动态创建出来的,所以这里边报错什么?错误是告诉你找不到他动态创建出来那个map的对象,所以咱们这里边报了一个错,而错误咱们出现需要解决一下。说一下怎么解决两种方式,第一种方式你可以不解决,因为他能找到那个对象是这里边报错了啊,后面在执行过程中他会找到,然后第二种方式,你不想看到错误,你可以在map这个interfe上边加上一个注解,就是咱加一个repy。
13:00
这样的话就没有错误了啊,这各位注意,然后这个完成之后,咱最后做法就是调用map中的方法,比如说咱们找第一个方法select list。这个方法咱看一下啊,它里边要传个条件,这个条件是你条,比如说我们现在条件查询,你根据名称,根据年龄查询,要传个条件,但是目前我查全部不需要条件,咱就直接来一个那就可以了,一会儿咱会演出条件最终返回的就是这么一个历史集合,比如我起名叫user的意思。然后咱就完成了,这样的话就能查询表中的所有记录,然后这个集合我给他做个便利啊,咱给他直接输出一下。User user。然后这个名字是user丽,我把user就直接做输出。所以大家看目前呢,通过这个代码咱可以实现最终这个。
14:01
MP的一个测试,这个就完成了,所以以上就是咱们写这个入门的案例,那完成之后下面呢,咱们在T里边,我把这方法我们直接右键单元测试给他测试一下,看一下能不能把咱们的最终数据查出来。啊,但是写的时候各位注意啊,你在写这个配置文件的时候,你的数据库的地址名字,用户名密码这些不要写错,这些都注意,然后各位看啊,我目前执行咱明显看到。是报错了,T的filed出错了。那咱看出什么错啊?咱们找到错误的最后一部分,我们找到最后一部分。然后大家看啊,犯这个错误,你看这里他说什么,没有如此的B定义。就是哪个B没有定义,或者哪个B没有找到,说map没有找到,那为什么没有找到,就是我刚才提到的啊,因为咱们现在map呢,只有interface,它的那个实现类对象是动态创建的,所以我们目前找不到它那个动态的对象,那怎么做?咱需要在启动类里边,或者说你写个配置类,加上一个map的扫描,为了找到map那个动态创建那个对象,那我加个。
15:23
Map里边加上你那个包的路径,把这个直接复制。咱们拿不来。然后我说明啊,就是这个路径,建议各位同学最好直接复制,你手写很容易写错,另外复制的时候注意啊,你后面别再多复制一个分号,这就不对了啊,直接加上你map那个包的路径,后面别再把那个map再加进,比如有同学加一个右侧map,这也不对,只加上它那个包的路径,这样的话就可以了,他就能找到动态创建出来那个对象。
16:00
CCM,现在完成,最终我们做个测试,看一下最终的这个结果是怎么样的。我们等他执行看一下啊。第一次会卖点,咱稍微等一会儿。因为第一次他要编译,后面就会快了。然后大家看啊,你看啊,我最后把这个数据是不是出来了啊,这是我在表里面加的一些测试数据啊,这我之前检测中加了一些,所以但是你现在看到啊,数据应该就出来了,证明咱们这个map的入门测试就成功了,咱就实现了查询表中的所有数据,所以通过这个过程,大家先快速感受一下MP到底该怎么去用,它的核心就在这里边。让你的map继承map,最终都是调base map中MP中封装的方法能实现你的操作,所以咱们现在就完成了录音演示,这个完成之后,下面呢给大家会进一步演示MP中的其他操作。
我来说两句