00:00
好,接下来呢,我们来整合GPA操作数据库,我们来创建一个新的工程,有一个project。我们使用的的初始化向导。Com点硅谷好,我们是spring。零六我们是数据访问,哎,我们使用GPA技术好。把这个报名改一下,打包方式呢,还是炸包来下一步来选中spring BOO的版本1510,好然后呢,我们来选中web模块,诶我们一会发请求来测一下circle,我们接下来呢,我们来选中GP模块,这是我们要使用GPA需要选中的,包括呢,我们这个my circle驱动,我们来选中这个JDBC呢,哎,其实我们说只要跟数据库操作这个JDBC模块,人家都是自动导入进来的,当然我们也可以来选中,好接下来呢,我来点击下一步来把这个工程呢创建出来。
01:02
好,我们就在当前这一块,我们创建出工程,我们先来看一下它的这个po文件,我们这个GP模块到底引入了什么,好,我们右键diagram来分析一下他们这个依赖spring GP,我们在这儿主要呢,我们来看这几个,它呢本来导入了基本的JDBC功能,OK,还导了我们这个spring BOO来做A以及切面的相关功能,包括呢由spring GPA GPA呢啊用spring来做OM的spring的基本项目,包括呢spring事物控制等等这些都包都有做依赖,包括呢,哎,我们来看GPA呢,我们这个底层就是用的的这个实现,用的ber n manager来对我们ber GPA进行操作,好那么接下来呢,我们就来把这个呢配置出来,我们呢先要配置我们的数据源,数据源呢大家也可以在这引入re,哎,向上一节课配置re,数据。
02:03
我呢就不做这么麻烦了,我们就用它默认的好,我们在卖resources底下好们还是使用压面文件,这个压面还是非常清晰的啊,压面好,然后呢,我们来配置数据源的相关,熟悉data source。首先呢,我们这个数据源的UR地址,我们连哪呢?我们就叫JBCMY,哎,我们要连我们这个Linux虚拟机,哎19216815.22192.16815.22,然后呢,连上哪个数据库,我们来写一下,我们在这呢,我们来创建一个新的数据库,新建一个数据库来,我们就在这里边呢,也示GP相关的操作来,我把这个字符集呢,我们可以改成UTF8好确定,那我们就来连上这个GP数据库啊,我们连上GP好包括呢,我们用户名密码我们都在这配置root密码呢,Passwor是123456,还有我们这个驱动的class name,那我们这个驱动呢是JDBC马OK。
03:11
那么这个数据源配置好了,我们如何用GP来操作数据库呢?那这个操作之前呢?来首先说我这个GPR,它也是基于OM思想的,也就是我们说的这个对象object关系。Relation,哎,Relation,我们这个对象关系映射,所以呢,我们要用GP,我们的步骤第一步我们先编写一个一个咱们这个实体类,哎,也就是我们的这些B,我们来和数据表。进行映射,那这个映射关系呢,我们也得写好,并且呢,并且配置好映射关系。好,那么呢,我们就来写一个,哎实体类我们就在spring BOO,哎,注意呢,我们在spring包下啊,因为我们这个主程序呢在spring BOO包下,它呢会扫描这个spring包下所有的组件,所以说呢,我们把我们的实体类也得放在这,那我们就叫NT,我们来写一个类,我们就叫user,假设呢,我们有一个user类,它呢有一些属性,比如呢。
04:23
用户的ID,还有呢,用户的名字private,包括呢,还有用户的。咱们这个邮箱,我们就写上这两个,然后呢,我们out insert get,我们来给它加上这个呢,是我们一个普通的这个实体类,但是呢,我们要先要配置,配置咱们这个映射关系。映射关系,我们要使用GP解,使用咱们这个GP注解配置我们这个映射关系。这我们要做的第一步,首先呢,我们来用一个注解叫NT,这NT诉告诉我们这个P,这是一个。
05:11
哎,它来标注呢,这是一个实体类,也就是说它是和数据表映射的类,不是一个普通的扎宾,好,这写完以后呢,接下来它和哪个数据表映射,我们也可以来加一个注解,叫at table,哎,说跟哪个数据表对应呢?我们可以用name来指定一个数据表,比如我们就叫TL-user,当然我们现在这个GPA这个数据库里边还没这个表,我们不用担心,一会人家还会自动创建,哎,我们就可以使用an table来指定和哪个数据表对应,包括呢,我们还可以在用an table来指定数据表的各种规则,比如它的这些索引等等等等,好如如果省略,哎,这个也可以是省略的,如果省略,那默认表名就是,哎,表名就是我们这个类名小写,我们现在呢就叫user子,那就是它了,好,那么这是我们这个。
06:11
啊,用at table标注呢,这个数据表来对应,那么接下来呢,我们说这是一个主键,我们需要用GPA的an ID注解,我们来标注这是一个,这是一个主件,包括如果我们想要主键自增,我们还可以用一个叫generate value,诶,我们来编写一个strategy,这是我们这个啊主的生成策略,哎,我们有一个叫identity,哎,这就是自增主自增。然后呢,剩下两个字段,我们可以用ANC来标识,这是这是和数据表对应的一个列,当然这个列名呢,我们也可以自己来随意起,比如name啊,我们就叫拉斯科。
07:01
杠内,好,我们可以自己起一个列名,包括呢我们还可以定义列的属性,比如这一列,哎,是50个字符长度,好,包括呢,我们这个email,我们也可以用来标注,当然如果省略的情况下,省略省略省略。默认,咱们就要列名。就是咱们这个属性,哎,我们用GP的这些注解,我们把它就可以标注过来,这是我们,哎第二第二步我们要做的事情,我们来编写一个实体内使用GP注解将它标注过来,然后呢,接下来第二步,那我们要操作这张表啊,所以说呢,我们来编写一个Du。编写一个这个丢啊接口啊,注意啊,它是接口来操作啊,咱们这个实体来对应的数据表,当这个呢,我们中我们来为posyposity,所以说呢,我来编写一个能操作们这张表的这个POS啊,我们就放在posy包下,我们就叫useryry。
08:14
回车好,这个呢必须是一个interface,好,我们先是一个接口,那这个接口如何操作数据表。我们说spring data呢,为我们统一了这个操作的API,比如它有一个统一的P接口,哎,他们的继承关系是这样的,如果我们有GP,那么它会有一个S叫GPS,它继承于啊,On and,这个是具有啊我们这个排序和功能的,这个呢是具有基本CD功能的,那么如果我们的接口直接继承于GP,那相当于既有基本的c rud功能,还有我们这个排序以及功能,所以呢,我们想要操作数据非常简单,就直接来G就行了,这块呢还有两个型。
09:05
这两个泛型呢,我们来看第一个泛型呢,是一个啊泛型类型,我们需要传入的是我们要操作哪个实体类,哎,我们写一个user,第二个型类型呢,我们来看它是一个able可序列化的这块呢,传的是我们这个user里边我们这个的这个类型,我们就写一个。然后我们个。来完成对数据库的操作,哎,我们写一个它就行了,当然我们要能操作数据库呢,我们还需要对GP来做一些配置,比如配置什么呢?我们现在还没有这个t PL user表,哎,我们也不自己创建了,哎,我们可以在压面中来做一个简单的配置,跟GPA有关的配置呢,都在spring.GPA在这个里边,比如呢,我们配一个叫har net d dl auto,我们底层呢,用的是这DL呢,就是来定义数据表的生成策略,我们来写一个update,这update的意思呢,就是啊更新或者咱们这个创建数据表,那这样呢,我们这个数据表第一次我们启动没有这个数据表就会创建,如果以后启动啊,我们这个实体类啊,标注的这个数据表可能发生一些变化,那我们就会更新数据表结构。
10:30
好,我们来配一个它,然后呢,包括每一个circle呢,我们想让它显示出来,我们也可以配置一个GP里边有一个叫竖circle,哎,我们让配一个,这样的话呢,我们在每次增删改查的时候呢,我们可以在控制台我们来显示。控制台。来我们就来方便观察,那么所有的GPA的相关配置都在我们这个gpapity这个对象里边绑定的,哎,我们只需要呢,来写一个这个接口好。
11:06
我们来编写了这个do接口,然后呢,我们稍加配置就行了,因为剩下的一切都是自动配置的,基本的配置,把这两个基本的配置加上,因为我们要建表之类的,好,我们就是把这个基本的两个配置。好,我来复制过来。那么这个基本配置呢,我们相当于我们就做好了样面。好,他们呢,这些配置都是哎开头的。好,这些配置呢,详细的都在我们这个,我们这个GPA里边有绑定好。参照它就行了,那好,我现在呢,我们来直接启动我们这个应用spring data GP,好直接来启动,大家看现在还没有这个数据表,F5来启动的时候呢,我们来看。
12:04
他呢,现在正在启动。启动呢,好,我们来看我们这一块呢,它已经启动起来了,而且呢,他说这个table note found,哎这个表呢,没找到我们来F5F5来,但是呢,我们这个表它已经自动帮我们来创建出来了,所以说呢,这就是我们来用GP,它帮我们来自动创建出来表,那增删改查怎么用呢?我们接下来就来写一个rler,把这个增删改查简单的来测一测。Controller。我们这个呢,就叫啊,我们这个user c。好,我们写一个rest ctrl。啊,我们想要进行增删改查,我们只需要把我们这个userposity,哎,我们注入进来就行了,而且在usersity里边我们不用加任何注解,因为它本身就是我们这个GPA的这个,我们在这直接注入。
13:02
好,注入进来以后呢,我们来写第一个方法,我们来返回一个user对象,比如我们就叫get user。带上用户ID,把这个应配置。ID我们来带上来,来发一个get map请求,好,User下的我们来映射上这个idd,还是我用路径变量的方式,好,我来pass,来取出路径上的ID。那怎么查呢?我们这个user因为它继承了GP,所以它里边呢,已经本身自带了好多的增删查,我们就能看到这有一个one查询单,好查询单呢,然后它为我们返回一个user对象,那我们把这个user对象返回出去就行了,这是一个查询,我们再来测一个插入就行了。好,这个user我们也放在这,叫insert user。
14:00
好,把user的这些属性呢,我们都用这个user对象来封装起来,好接下来呢,我们就直接调用usersit,第二有一个save方法,哎,把我们这个user对象呢,我们来直接保存进来。保存进来呢,它会把保存的这个user对象给我们返回,由于有自增主件,所以说呢,返回的这个user对象里边还会带我们这个自增组件,好我们来get。好,为了简单,我们就来发get请求user,把用户数据呢带上这些呢我们都写出去,好来重启,来测试一下我们给数据表里边能不能插入和我们来查询一些数据。好,我们整个呢,启动起来,来访问local host 8080,我们先查询user杠一,哎,这个数据呢是没有的,所以说返回为空,但是呢,我们看控制台也有这个circle语句,这都是har net底层我们生成的,好,那接下来呢,我们就来插入一个数据user,那带上呢,它的属性last name等于比如我们张三and,我们这个email等于AA,我来回车。
15:14
来我们发现呢,这块有报错,我们这个是404啊,我们少了一个R。游走好,回车来,我们发现呢,这个张三A插进去了,而且自增主键ID等于一,哎,能查得出来没问题,我们再来查一个李四BB哎之类的,那都是可以的,哎,它呢也帮我们能返回插入的这个数据,这就是呢,我们使用GP来操作数据库这一块呢,也有这些S语句,有了GPA呢,我们就不用担心那么多的东西了,哎,我们只需要用好我们spring data为我们提供的这些,当然GPA的一些高级用法,GPA我们这个上硅谷的鼓励学院里边也有相关的视频,大家可以来使用就行了,总共呢,就这么几部来写一个实体类,用注解标好以后写一个PY,做了基本配置以后,我们就可以直接使用了。
我来说两句