00:00
好,接下来呢,我们就来创建一个新的工程,来搭建我们缓存测试的基本环境,我们使用spring的初始化向导,好,报名呢,就是我们这个硅谷。And,硅谷模块呢?我们就叫spring boot。杠01CATCH这块包名呢,我们就改为an硅谷catch啊,短一点就行了,Nice。注意版本号呢,我们选中1512啊,我们现在用一版本来进行演示,核心模块里边呢,我们来选中catch模块,这样会帮我们来引入spring的缓存抽象,包括呢,为了测试方便,我们来引入web模块,加上呢,我们沟通啊,我们要连接MYSQL数据库,包括呢我们使用马贝斯来操作数据库,好,那这几个呢,我们就先来选上,我们点下一步。好,我们点finish。等他呢,创建完工程。好,这个工程呢,我们就正在创建。
01:04
来打开这个工程,哎,这是我们之前的目录结构,哎,慢,下边在我们com and硅谷catch下边有一个这个主程序。我们呢,先来在这儿搭建基本环境,哎,搭建咱们这个基本环境,这基本环境呢,我们第一步先导入我们这个数据库文件啊,这个东西呢,我就不一一创建了,我给大家在这个课件的实验里边,哎,文档里边看,实验里边把这个数据库呢,我们先来创建出来,诶我呢用na k连上我本地的MYSQL数据库,包括这个na cat软件也都会给大家放在这个软件里边。好。本地数据库呢,我来创建一个数据库,新建一个数据库,这个数据库呢,我们就叫spring catch。好,这个字符集呢,我们用UTF杠八。来确定这个数据库创建好呢,我们就把这个数据库文件导入进来,在这儿运行circleql文件,好来选中这个呢,在我们这个课件里边,Catch实验里边,就是这个spring boot catch circle,好我们让它运行,运行来以后呢,我们来F5刷新一下,哎,会给我们数据库呢,创建上两张表,这是我们要做的第一步导入数据库文件,哎,创建出创建出呢,我们这儿有两张,一张是department,一张是我们这个employee表。
02:30
Depart。和咱们这个employee。Employee表。好,这是第一步,第二个我们来创建咱们这个B,我们来封装数据库的,封装咱们这个数据库的数据。那这个扎B呢,我就不一个一个写了,我们来在这写一个包啊,我们这个实验里边将这个B都写好了,好我把这个B呢也就复制过来。
03:01
CTRLC好,CTRLV来复制过来,点个OK好,那这两个B呢,Employee里边属性ID是我们这个主件,包括last name名字,Email,真的性别,以及它的部门ID,包括呢,无参构造器,有参构造器,哎,都在这儿写好了,包括department,由它的ID和department name他们分别来封装这两个表达数据,好这个呢,我们就写好了,接下来呢,我们第三步来整合马贝蒂斯,我们先来操作数据库,来操作咱们这个数据库。这整合嘛,贝利斯呢啊,我们分为这么三步,第一个先来配置咱们这个数据源啊,数据源信息,哎,我们联想哪个数据库的,我们只需要在我们这个啊配置文件中properties里边来配置data source,哎,Spring data source的,比如我们这个URL地址,点URL好联向哪呢?我们连向JDBC,冒号my circle,然后呢,Local host。
04:07
哎,我这个是本机的MYS3306端口下的,哎,我们这有一个数据库叫spring catch,像这spring catch好包括呢,我们来提供连接的用户名密码,哎,比如我们这个data source username。Username,我们就叫root好点。That password。source.passwor诶我们就叫123456,好把这个密码写上,包括呢,我们这个spring.data source,还有一个点driver啊,我们这个驱动是什么驱动的这个类名那就是啊,我们这个这有提示com mysl j d bc driver,当这个可以是省略不写的,哎,我助调都行,它可以根据这个链接自动判断好这个数据源信息,我们就配好了,接下来呢,我们来配置。
05:03
哎,我们使用,我们就直接来使用注解版的MY贝斯就行了,注解版的马贝怎么使用呢?哎,那我们第一步先来,哎,使用SC指定蒂需要扫描的。指定。需要扫描的。Map接口所在的包。好,我们将来呢,将所有操作数据库的map类我们都放在这个map包下,那我们要扫的我们就在这儿,在主程序上来批注at。好,我们要扫描哪些呢?就来扫描我们这个map包下的东西,我们把这个reference复制过来,好,我们扫描这这里边呢,我们就来写上两个member,来写上两个接口,一个呢就是我们employee member。
06:02
另外一个呢,就是我们这个department member。好,我们再来创建一个接口,叫贝塔。好,我们呢可以给每一个接口上来标注at member注解,哎,来显示的声明,这是一个哎马的类,好,这样呢,我们就会把这些文件都扫描进来,好扫描进来呢,我们先来在employee里边,我们提供员工的增删改查几个方法。先来写public employee get employee把ID,那么按照员工的ID来查询,查询呢,传入一个ID,哎,注解版呢,我们就直接将circle来写在这个上面,使用select注解。来,我们查哪里呢?我们就来写select。From,哎,From哪里呢?From我们这个employee表,Employee,我们刚才创建了一张表叫employee,我们从这张表里边查,啊,我们的条件是什么呢?Where where,我们的ID就等于哎,我们传过来的参数ID,好,我们直接这么写就行了,这是一个查询,那么其他增删改我也就直接来写上查询,我们再来整一个修改,比如Y的,我们就叫up date employee,我们来更新员工,把员工的信息呢们就也直接传进来employee,好,我们来把更新的SQ语句我们写在这update更新,更新呢,我们就来写上circle update。
07:41
Update,哪张表呢?还是我们这个employee这张表set。设置设置我们employee表里边的这些字段,诶比如呢,它的这个last name是什么?设置它的这个last name,等于我们传过来的这个employ对象里边的last name属性好来看复制出来。
08:04
包括呢,这是第一个字段,还有呢,我们还要设置咱们这个一麦啊,我们这个邮箱一麦。等于哎,同样是我们这个对象里边取出的email属性的值,包括呢,我们还有我们的这个真的字段和部门ID,真的就等于井号大括号,真的包括呢我们的部门ID,真的还有这个D-ID。等于井号大括号,哎,取出我们这个employee对象里边的did的值,好。而条件呢?我们来写上where。这个条件呢,就是为绕ID,按照ID进行修改。来写一个ID。好,这是我们这个查询啊,这是修改一个员工,然后呢,我们再来写一个删除吧,Word,比如呢,就叫delete。
09:00
8ID,我们按照ID来删除一个员工,传入一个员工的ID,好,Delete呢,我们就来批注一个叫delete删除,删除呢我们就叫delete from employee这张表,哎,Where。Where where,我们的ID等于传进来的值,这是一个删除,最后一个插入操作。来保存一个用户。要保存用户呢?我们就来写一个well的insert user。把这个用户信息呢传过来。啊,Employee啊,这是employee啊,把这个改成employee。保存一个员工。好,然后呢,我们来写上我们这个插入的circle and,我们使用insert注解,好insert into,我们把circle语句呢写在这。Into into,我们这张employee表,当插入的时候呢,我们employee的这个ID是自增的,我们就,哎不用写上了,插入lastname以及email email以及真的。
10:11
啊,性别字段,还有它的D-ID啊value。哎,就等于我们从对象里边取出各自属性的值,Last name,包括呢,井号大括号,这个真的,哎,第二个是email,好按照顺序来取出来,还有呢,我们这个井号大括号,这个真的。包括呢,最后一个井号大括号,我这个叫did,好对象里边的属性叫did,这个呢,我们把这个SQL语句就批注好了,批注好了我们在这单元测试里边,我们来测一下我们这个map能不能用。测试里边呢,我们把employee的。我们来注册过来employee member好。我们来让它自动注入,自动注入,自动注入呢,我们就来测试第一个,你们说我们先来查询。
11:06
来查询一个一号员工,这个一号员工呢,奥特英特尔,我们把这个补全。这个值不全,好,这个一号员工呢,我们随便给数据库里边先来写一个记录,比如张三。张三an an硅谷点com,真的呢是一哎性别呢一咱们这个部门呢,我就不写了,我来保存一下。那看能不能查出张三这个记录this out来输出我们这个employee ID。来测试一下。走。我们看一下我们这个employee能不能工作。好,这个正在启动。好,我们看到呢,这个运行成功查到了张三这个数据,好,那我们把controller和service我们也不全,好,我们在这儿来写一个service。
12:07
Service包下,哎,我们写一个employee service,那就先来写上一个方法,这个employee service呢,我们先把它加在容器中,Service好,我们呢有一个方法叫public employee。Employee,然后呢,我们叫get EP方法,然后呢,传入一个咱们这个ID啊,我们这个ID我们去来查询,查询呢,我们自然要用employee的member employee。我们来自动注入这个map,好,我们来调用map的查询方法,点get mp8id,然后呢来写一个ID。他呢,会为我们返回一个员工啊,包括呢,每次运行这个查询方法呢,如果进来我们就来打印一句,哎查询查查询什么员工呢,几来我们来打印一下几号咱们这个员工。
13:03
好,我们将查询后的这个结果来返回出去,我们就先来写一个查询,我把页面从service跑通,好,这呢是我们一个service,接下来呢,我再来写一个control了,这一块呢,Employee member报错,哎,我们不用管。这个东西呢,他没有感知到我们这个容器中马贝蒂斯的这些map加进去,好,我来写一个controller。好,来写一个controller,那么就叫employee。Controller。不能标注上一个注解叫risk c了,哎,返回我们这个啊,接算数据,我们就直接来写上一个方法叫employee,哎,Get employee。然后呢,我们要需要用到员工的这个idd呢,我们来发送get请求,哎,我用get map,哎,我写一个rest风格的EP,下边来路径变量里边来带上ID,这路径变量里边要取ID的话呢,你就可以用一个注解叫pass ver。
14:13
这些都是以前的基础内容,好,我们从路径变量中取出这个ID占位符的值,然后呢,我们来调用service,我们来写一个employee service employee service,我们把它自动注入过来。我们调用service的方法,点我们来get employee,把ID传过去好,然后呢,Service为我们返回的这个员工,我们也直接让页面显示出来,来return employee就返给页面,这样就会以接数据的方式好来启动测试一下。启动。我们的页面来发送请求employee下的ID,我们来看能不能查出我们这个数据,比如呢,我们再来添加一条数据。
15:02
你在这呢,来点一个加号,来添加一个李四,这个李四。李四按按硅谷点com好正点呢,来也写一个一,比如它部门ID来给一个一吧,好保存,然后呢,我们来访问我们这个页面来查二号李四。Local host8080来发送EP杠们来查询二号第四,诶我们查出来了,但是我们发现呢,这个did没有值,实际数据库里边didd是有值的,原因就是我们数据库的这个D-D跟我们Java b的这个属性,我们来看一下,我们叫did,它不是完全对应的,我们必须呢开启驼峰命名法,那我们这叫马蒂呢,就有一个配置,如点configuration里边有一个叫。哎,有一个叫我们这个auto configuration,好,下面呢,我们这儿来找一下,有一个叫驼峰命名,哎,Map的,哎,Underscore to comeca,好,我们把它当成true就行了,好,我们这个停止来重新启动。
16:09
看一下能不能查出我们这个值,这呢也是我们以前哎马贝蒂斯在做配置的时候也有这项C啊,我们驼峰开启,我来给大家备注一下,开启驼峰。命名匹配规则。哎,只要符合咱们这个托峰命名法规则的,哎,它自动呢帮我们来匹配过来,好,我们来刷新一下,哎,发现这个did就有值了,就说D-ID就会被默认为这个杠就是大写的A,好这个基本环境呢,我们就搭建完了,那们下节课呢,我们来测试缓存的使用。
我来说两句