00:00
好,那我们在学习声明式事物之前,然后我们先来学习一个新的内容,叫做gd bc template啊这个东西是什么?首先呢,大家要知道事物是咱们的my circle中的内容,是数据库中的一个内容,那所以说呢,我们现在咱们是需要在执行circle的时候,然后来测试这个事物功能的。好,那我们现在spring呢,它就对咱们的GDBC进行了封装啊,然后封装,封装之后它有一个框架啊,叫spring gd bc,它为我们提供了一个类叫做gd bc tempm,然后其中呢,就有各种对咱们的数据库中数据进行增删改查的方法,那所以我们现在呢,咱们就用GDBCTMPLA,然后来操作数据库中的数据,然后呢,来实现一下我们当前的声明式事务的功能,OK吧,行,那我们下面咱们先把咱们的准备工作来做一下啊,然后我们先来创建一个新的工程,点击右键六一个module,然后叫什么呢?大家注意,咱们直接就叫做spring,然后杠TI。
01:04
叫做transaction,什么意思,事物的意思啊,然后group ID叫com.at硅谷,然后点spring就行,然后下面咱们点击finish,然后把咱们当前的这些依赖呢给它拿过来,大家注意,这就是它的一些依赖,然后因为我们要连接数据库,所以说这里面咱们有spring的依赖,有启unit的依赖,还有咱们MYSQL的驱动,还有就是我们的德鲁伊数据库连接池,OK吧,行,打包方式,然后是架包,然后下面呢,咱们直接把这个依赖复制过来啊,大家看一下都有谁。首先呢。大家看好,这个是咱们的spring context,这是我们当前实现IOC的依赖,这个大家还记得吧?然后下面在这呢,是一个spring-or,什么叫ormo是object r是relation,关系M是mapping,叫做对象关系映射啊,这个R是关系M呢是mapping,是映射的意思,叫做对象关系映射好,然后所以这个时候它就可以将咱们spring里面来实现持久化操作的价格都间接的引入过来,就比如说我们来找到maven,然后咱们来找到咱们的spring,然后杠transaction,然后咱们把它给打开,然后来找到咱们的dependencies,大家看啊,这就是OM,大家看它引入的都有谁。
02:29
首先BS和Co这里面是不是已经引入过了,对吧?然后这个是咱们的spring-GDBC,这就是我们当前gd bc template的核心价包,OK吧,好,再往下在这有一个spring-TX这东西干嘛的杠TX以后大家只要看到这个TX,它就是表示操作事物的,知道吧,好啊,行,这个大家注意。那行,那下面呢,那我们再往下看,这个呢,是我们的spring的这个测试功能,然后再往下,然后这个是大家注意这个是什么测试啊,这是spring来整合了g unit的一个包,然后一会呢,咱们就可以给大家来演示一下咱们spring是如何来整合g unit的,那这个时候我们的g unit就可以在spring的测试环境中来执行了,OK,好,下面这是unit的架包,然后再往下呢,然后这是咱们的my circle的驱动包,然后下面还有这个德鲁伊的一个假包,OK吧,行,那咱们把这个设置完成之后,下面呢,我们再继续大家来看啊好,那我们现在咱们需要干什么?其实大家注意这个gd bc template我们在上面咱们就说了,这就是我们的spring gd bc这个框架为我们提供了一个类,然后这个类,它就是帮助我们来干什么干什么的,来执行增删改查的这个S口语句的,OK吧,所以说我们现在要想来使用它,那是要想来使用spring d bc。
03:51
框架,那其实我们只要来获取这个对象就行,那既然是一个对象,那我们是不是就可以交给IOC容器来管理,对不对,所以说大家看啊。
04:02
我们来找到我们当前的工程,然后来找到我们当前的配置文件啊,Resource来创建一个spring的配置文件,然后我们就叫做spring,然后杠gd bc template啊,T啊,Template,大家注意,这就是模板的意思,叫JDBC模板。啊,或者咱们这样吧,叫spring-GDBC行完事,然后呢,把配置文件创建出来之后,大家看我们都需要干什么,那因为7d bc template的就是一个对象,那既然是对象,那咱们就交给IOC容器来管理呗,那所以说一个病肯定少不了。对吧?那为什么我们现在不用注解加扫描c d bc time的是你自己创建的吗?不是,那这是第三方架包为我们提供的,那你怎么跑到人家价包里面,在原文件中给人家加上一个注解啊,你加不了嘛,对不对?所以说在这咱们只能通过并标签来设置,这也是咱们之前跟大家说的基于注解的叉,基于注解的这个管理病非常重要,基于叉ML管理病也非常重要啊好,咱们来看一下它的类型,对吧?叫什么?叫做gd bc templte,大家注意就这个东西啊,好,咱们把它给写上之后,大家说这东西是干什么的,用来操作数据库的。
05:20
那咱们当前要想操作数据库,你都必须,你就必须得干什么,咱们就得来连接数据库呀,所以说大家会发现在gd bc template里面就为我们提供了一个属性叫什么属性,叫做data source的属性,干啥的数据源,数据源是干什么的,来管理连接的嘛,对不对?所以说你要想通过JD bc template,然后来操作数据库,那我们现在就必须要为它来提供连接,来连接数据库,只有连上了你才能操作它嘛,对不对,好这样的啊,好,那我们现在咱们有数据源吗?没有数据源,但是我们之前学过呀,咱们学过这个基于什么,基于XL来管理bin的时候,咱们是不是说过通过通过IOC容器来管理数据源,大家有印象吧,怎么来配置,然后在这咱们设置一个bin,然后它的class等于谁?数据源是一个接口,我们现在需要来找到它所对应的实现类。
06:16
然后咱们的数据源叫data source,那我们刚才引入的是不是有一个德鲁伊的数据源,所以说。这个class咱们是不是直接来写德鲁伊data source就完事了啊?好,然后再往下大家想一想,来回顾一下,这里面都需要设置谁驱动类的名字,然后是value对不对,然后复制复制,然后这个是URL,连接数据库的地址,然后这是user name,然后用户名,然后这是密码password,好,然后我们在这儿可以把它给写死,但是咱们也说了,一般情况下,咱们连接数据库的这些参数是不是都需要放在一个properties文件中,那所以咱们在这是不是就可以来?对吧,把咱们的properties创建出来,或者说。
07:01
大家直接复制就行啊,咱们来找到咱们的spring里面的这个IC啊,然后我们来找到咱们的这个GDBC.proper然后直接把它拿过来就行啊,啊然后复制过来之后,大家还记不记得怎么去写,你能不能说我在这直接来使用。直接在这怎么去写呀,Dollar大括号,然后一个来访问咱们proper里面的键行不行不行啊,为什么?因为现在这两个文件它没有任何关系,所以说我现在要想在我们的spring的配置文件中来访问properties文件中的数据,那我们是不是必须要来将咱们的properties文件给引住呀?所以说大家注意,你看我们现在写的这个顺序啊,我们是有了当前这个需求,它需要数据源,所以咱们再去创建数据源,然后我们在创建数据源的时候,它又需要我们当前的这些连接数据库的参数,所以说咱们提供了一个GDBC.properties那我们现在就需要引入这个proper,那大家写了熟,写到熟练了之后,咱们还需要这样去做,我们不需要啊,对吧,咱们以后只要是涉及到操作数据库持久化的技术,那我们肯定是需要数据源的,你只有先连连上数据库,咱们才能去操作数据库,知道吧,所以说呢,大家注意以后你就按顺序先引入properties。
08:21
然后再创建数据源,哪需要数据源,咱们就在哪儿引入就行了,知道吧。所以说这个咱们是来引用啊,引入,然后咱们的GDBC.proper用什么标签呢?大家有印象没有,叫做context,叫做context。然后冒号,然后叫做property place holder,有印象吧,然后location,然后咱们写什么GDBC.properties就行,好,然后这个地方需要跟大家说一下啊,你看咱们的笔记里面,然后在这当它去引入一个properties的时候,它写的是什么?叫做class pass,冒号GDBC.properties。
09:03
这是啥意思,叫做类路径,我们现在不写行不行也可以,为什么大家注意啊,那是因为我们以后啊,咱们在一个外部工程里面,大家都知道外部工程是有两个路径的,一个叫做类路径来存放我们的配置文件和类的,还有一个叫做we部资源路径,对不对,对吧?所以说我们在外部程序中,外部应用里面,我们就必须要设置class pass。啊,然后咱们来指定我们当前访问的是类路径下面的配置文件。好,但是我们现在咱们这是一个Java工程,它有什么呀?它没有web资源路径,所以说大家直接写GDBC.proper就行啊,当然呢,我们最好啊是把这个class pass给它设置出来,因为这个东西咱们以后肯定是要用的啊行设置完之后,那在这怎么写,大家想一下,直接JDBC点键,然后是不是点driver,是不是就可以直接访问到,直接通过键来访问咱们proper文件中的值,OK吧,行,然后这个地方是什么叫做啊URL,然后在这的话,这是user内膜,然后再往下这个地方是password OK啊行,那咱们就设置完了,那咱们的数据源是不是就已经创建出来了,那咱们给它加个ID,就叫做data source,那我们在这呢,是因为我们的gd bc time play是操作数据库的对象,那他要要想操作数据库,那它是不是就得有数据库连接,先连上数据库才能操作,所以说在这它大家。
10:34
他注意我们也看到了,他需要为一个数据源类型的数据源这个属性来进行赋持,那所以我们直接通过ref让他引用我们上面所创建的数据源,这不就完事了吗?那我们当前咱们的gd bc template它不就有了吗?对吧?在这咱们需不需要来设置ID,大家注意不需要。为什么?因为咱们说了获取病的方式一共有三种,对吧?根据类来获类型来获取,根据ID,根据ID和类型,那我们现在在IOC容器中g d bc temp play的类型的并只有这一个,那我们直接通过类型来获取不就行了吗?大家说是不是OK吧?行,那这个呢,就是我们当前咱们这个配置,在我们的IOC容器中去配置JD bc template的类型的这个病啊好。
11:23
好,下面呢,我们就可以来进行测试了,那我们先找到一张表啊,比如说那我们既然是要操作数据库,咱们就把这个表来设置出来,连接还是我们的SSM这个数据库这个表啊,那咱们在这有这个user。大家注意,那咱们就直接来使用这个user表吧,ID username password h gender,还有email,然后咱们来点击右键啊,然后呢,这个更多表操作,把它给截断一下就行啊,然后下面咱们来刷新这里面是不是没有数据啦,比如说我们在这来添加一条叫做old me 123456,然后年龄23,然后性别的话,咱们给他个男邮箱,12345,艾特QQ,然后点com行,这就是我们当前添加的一条测试数据,那我们一会咱们就通过我们的JD bc template,然后来实现一下咱们的增删改查。
12:16
当然增删改是一样的,我只给大家写一个添加,咱们主要呢来说一下查询功能啊。
我来说两句