00:03
嗯。来找一下啊,再往下翻啊,在咱们这个第四页上第四页。这个做一个标注啊,这个东西在。这个啊模板。在文档。第四页啊,第四页上半页的事啊。我把这东西啊过来。啊,粘过来之后啊,我们来看一看,这里边是不是出现了一个,给我们列出来一条这个SQL语句对不对。那so后语句啊,我们将来啊,就在这个map的这个映射文件中写OK吧,好呃,这里边比如说咱们以后啊,什么insert标签啊,什么update的标签啊,咱们是以这个标签的形式来存在的,OK吧,你的这个so后L语句啊,一定要套在咱们这个标签里面,OK吧,好,我现在啊,暂时先把它干掉啊,暂时先干掉好name space叫做什么呢?Name space啊,这个东西老师解释一下啊。
01:35
好。注意力集中了啊。好,这东西叫做命名。空间OK吧,这个命名空间有点类似于我们以前这个夹角中的那个包结构啊,包结构OK吧,好,我们啊不同的这个map映射文件啊,我们是使用什么呢?使用name space啊,SP啊来做区分,OK吧,好,也就是说啊,不同的。
02:12
Map映射文件所使用的name space的命名啊,不允许。出现。啊,重复啊重复好,那也就是说我现在再给你举个例子啊,比如说我们现在再来一个这个教师的这个模块啊,那他很明显叫什么teacher,什么my partner是这样吗?好现在啊,比如说再来一个这个teacher呢啊教师的这一模块。Teacher teacher member,那大家注意啊,我们现在在这两块啊,对于这个命名空间来讲的话,我首先给student起一个名字,比如说我随便起个名叫TEST1。
03:01
OK吧,好,那这个呢叫什么呢。哎,总之啊,你不管不管叫什么,他还能不能叫台词仪。他绝对不能了,他他叫什么。T3 OK吧,它有什么作用啊,它的这个作用给大家举个例子啊,好,我们来使用。这个命名空间点SQID的这个形式来找到。好,我们想要执行的这个SQ语句,好,例如老师现在来一个c select标签在这个ID里边,大家注意啊,我来一个根据ID查单条,我来一个get by。诶。ID。好,那么也就是说大家注意看啊,在这个select标签里边,刚才说的是不是里边要写这个so后语句啊select等等等对吧?好,那么大家注意啊,ID这个属性永远标识的是什么呢?我当前页面元素的唯一标识是这样吗?如果我再来一套select标签,我还能不能够起的这个名字叫ID,叫get ID了能不能。
04:19
不能了,所以说它叫ID1,它叫什么呢?ID2,那么我想要执行这条SQL语句,我怎么找?同学们命名空间点circleq ID怎么找?Test词一点什么说get,哎,Get by id1是不是我就有效的找到了这条so后L语句,那如果我要get by idea时候找到了这条对不对?好,但是大家注意啊,我们在这里边啊,是不是给它一个命名空间叫test。对吧,好,这俩东西首先是不能重复的,如果你一旦重复的话,都叫TEST1大家注意看啊,是不是相当于引用的这个flat,我就不知道你有引用的是哪个这个map文件了,OK吧,好,那比如说我现在在这里边,大家注意看啊。
05:13
走哎,我在T群里边,我来两个select标签,我同样也叫get by id1get by id2可不可以?哎,那跟这个student它不是重复的吗。用谁做区分呢?这回是不是得用命名空间做区分,它应该是怎么着test什么,哎,这个得改了啊,二点什么get IDE能理解吧?哎,所以说啊,对于这个circle标签的这个ID来讲的话,仅仅只是在当前的叉L文件里边。不要重复就行了,OK吧,至于其他的文件叫什么名字与它无关,因为我们是用namepa去做把控的,OK吧,好,这点需要注意了啊,前面这提成没用啊,别干掉了。
06:13
好留一个这个咱们这个student啊,当然我们现在。啊,还没有这个案例呢啊好,接下来继续往下写啊,在我们这个src的根下啊,来引入log fo节的这个属性文件,我们刚刚是不是导入了一个这个log for接的这个价包啊,还记不记得。是不是有了这个价包啊,光有价包不行,咱们得干嘛呢?哎,还得引入一下咱们这个属性文件啊,这个是必须的啊。诶,属性文件啊,在这呢啊,Log附件。Src的这个根。好,呃,引入它之后啊,咱们就能够有效的在控制台上啊,看到我们这个底层接DBC的这个执行情况了,OK吧,好,这篇文件啊,你别管它是什么,总之只要是pro文件,是不是都是以T等于Y流的形式来存在的,对不对?好,这个文件啊,官方给咱们这个提供好了,但是我们需要知道是什么呢?咱们得需要知道这个debug,我们现在啊做开发都是使用这种debug这个级别的这个日志,这个日志的这个记录啊,大家想一想啊,你个日志的记录啊,这个级别不能太高,也不能太低,如果级别太低了,你想一想,我们想要看的信息肯定是有的,是这样吧,但是除了我们想要看的有用的信息之外,级别低了。
07:39
你是不是相当于一些无用的信息全给列出来了,OK吧,我们得大海捞针似的从这些个有用没用的信息里边筛选出来有用的对不对,那如果他这个日志的级别设置过高啊。什么叫高级别呢?高级别的指的是你报错了我才给你展现日志,OK吧,好,平时我不给你展现,所以说啊,在开发中啊,我们都是使用这种底bug级别这个文件啊,你直接粘过来直接用就行了,你可千万不要去改它,不要去碰它,OK吧,好,需要注意了啊,行,接下来我们继续往下看啊,我们现在搭建一个这个测试程序啊,测试一下根据ID查单条。
08:21
在我们这个主方法里边啊,这个测试程序的这个模板啊,在我们的这个第二页了啊。啊,第二页。今天这些模板上的东西都不用去背啊,没有用啊,因为以后这些东西都是一些我们比较常见的一个工具啊。在文档第二页啊。好,把这个文档第二页的这个下边这半部分啊给他转过来。
09:04
好,首先我们要做的是什么呢?大家注意看了啊,我们要引我们这个根路径下的这个主配置文件,你是不是当你引用了主配置文件,我才知道我连的是哪个数据库,连接的基本信息才会读取啊,对吧?好,那么大家注意了啊,我们现在引这个主配置文件,由于我现在这个主配置文件啊,是放到了这个src的这个根下,对吧?所以说不需要特殊的引用,把前面的都干掉,看到没?你放到src根项,直接列出来这个文件的名字就行了,对吧?这个主配置文件一会我们读取它读取的信息啊,有如下两项,第一项是什么呢?我们连接数据库的基本信息,其中包含驱动连接账号密码,OK吧?那下一项大家注意啊,Maps咱们是不是能填了?
10:01
哎,按照这个大家注意啊,按照这个模板来看的话,我现在应该引的是哪个map点叉L啊。哎,是不是student map,也就是说你现在的这个map映射文件啊,同学们啊,你仅仅只是写完还不行。OK吧,你必须得到我的主配置文件中进行一步什么呢?注册才可以,OK吧,就相当于什么呢?就好比你说你自己是司机了,你会开车的,那没用。哎,你得考驾照,你得经过国家认可,OK吧,好,你说你是这个国家特级厨师,你说你是什么中华小当家的,那不行对吧,你得国家给你办证,OK吧,所以说大家注意啊,这个map应试文件啊,咱们得多一步啊,必须得在我们的主配置文件当中干嘛呢,进行一个相应的配置,OK吧,好找到咱们这个map啊,右键哪个。
11:04
是这个吧,是不有三个copy啊啊这个copy啊。好,Copy它这个全路径啊,包杠资源名称OK吧,好啊,这个东西咱们配上了,好接下来的这段代码啊,咱们得需要进行一个这个拆开去处理啊好。这套代码提前跟大家说一下,这个不用背,OK吧,不用背,我们这个阶段啊,要背的东西有很多啊,这不是其中一项。OK吧,这模板粘过来用就行了啊好,我们来解析一下,解读一下这个模板啊呃,Input stream是什么意思同学。输入流还是输出流给一个标准呢?输入流对不对,输入流程来写的还是读呢。你想我们现在这个需求要写什么呀,我们现在这个需求你是不得读组配置文件啊。
12:03
对吧,输入流是读的,输出流是写的,是这样吧,好,那么现在大家注意啊,我现在来创建我的这个输入流,OK吧,好,我们现在来通过。加在咱们这个啊,My bet。主配置文件。啊,也就是说咱们这个my BAT is conig苗。好,来创建这个啊,输入流对象OK吧,好,那根据这个输入流对象啊,咱们最终的目的要创建这么一个东西啊,Circle session factory,哎,我把这个东西给你折上去啊,咱们来看一看。这个能更直观一些啊。好。首先咱们来看啊,Circle session factory builder。
13:02
这个builder什么意思呢?首先啊,Circle session是最终我们要用的这个对象,OK吧,那circlefa是不是circle的工厂?Circle circle工厂build什么意思?建造者,OK吧,好。相当于啊,咱们这个circle session factory的这个建造者啊,好通过这个啊,该建造者对象啊,好为我们干嘛呢,创建一个啊怎么创建呢,大家注意啊,是不是调一个build建造者,调一个build,是不是创建这么一个方法啊对不对。好对象啊,调用这个啊,建造的这个方法啊。为我们创建一个circle session factory的这个对象啊。
14:06
好,那么咱们这个circle session factory对象啊。好,唯一的作用。就是要为我们创建什么呢?CIRC对象,OK吧,好,我们未来。所有的这个操作啊,使用的都是什么呢?Circle session对象啊好,我们现在啊来创建一个circle session对象。啊,我就管它叫section吗?好,通过谁来创建呢?是不是circle section section啊同学们好,那如果按照我们以前来讲的话,是肯定得get一个superion啊,对不对,但是现在啊,他这个方法设计的比较格路啊,人家叫什么呢?
15:06
Open session,打开一个session OK吧,诶同学看一看这个session。哎,以前貌似见过呀。什么意思?绘画只不过我们以前玩的,玩的绘画是什么session?Http session吗?我们之前那个http session,那个绘画是谁与谁之间的会话。哎,浏览器与服务器之间的会话,对吧,我们这回这个circle session,这个session对象是谁跟谁之间的会话,哎,是我当前的Java程序跟谁跟数据库之间的会话,OK吧,好,那么咱们所有的操作啊,都统一由这个session对象来完成,OK吧,好。我们未来所有操作都是使用这个circle session对象这个session啊来完成。
16:04
啊。好,那其中包括什么呢?例如咱们这个增删改啥呀,好处理事啊啊等等啊,都是这个统一使用这个啊session对象来完成。好,可以看到,其实买白是为我们进行了一个高度的封装,以前我们要操作的是三种组件。Connection prepared DIA和result that对吧?好,还记不记得咱们刚才画这张图对不对?好,这这三个组件啊,我们用起来太麻烦了,太繁琐了,是这样吧,所以说呢,我们把这三个组件啊进行一个高度的封装,我们将来使用的是谁呢?Session,但是你用这个circle session,其实底层执行的是不是还是谈不上啊。
17:01
对吧,好,所以说将来咱们用这一个组件就行了啊,简化了我们的操作,OK吧,好,现在老师来一个需求啊。需求。根据ID干嘛呢?查单条,呃,我们这个对于查询来讲啊,两个最基本的操作,一种是什么呢?根据ID查单条是这样吗?还有一个是什么。无脑插所有c select信号符号标是这样吧,好,那这个根据ID插单条相当于VID等于问号。对吧,那加了个条件呗,对不对,好,那么现在啊,我们来实现一下。行在这里边啊,首先我先来一个SQL语句,SQL语句这个东西肯定得写啊,就想都不用想好。好,我们这个SQ语句啊。
18:03
好,必须要写在什么呢?啊,相应的这个啊标签当中OK吧,好,那么咱们提供的这个标签啊,比如说有什么呢。Insert标签。哎,Update标签。类的标签以及什么呢?Select标签OK吧,好这个啊,在标签对中啊来写什么呢?写什么呢?Insert开头的语句说白了啊,处理的是什么操作呢?添加操作OK吧,好,下班了啊。啊,这个是。啊,开头的这个SQL语句对吧,行啊。
19:04
最后一句啊。好呃,这个下边这个应该是什么update对不对啊,这个是update开头的啊,那下边这个呢,来一个delete,下边这个是C开头的,OK吧,这个是处理的是。修改操作,这个处理的是删除操作,最后处理的是。查询操作,我们现在的需求是根据ID插单条,所以说。啊,Select对不对,ID作为一个唯一标识啊,你只要不能重名就行了,对不对,好,所以说啊,咱们正常来一个get BYD OK吧,后边啊给我们提供了这个啊,两个有用的这个属性啊,其中有一个叫做什么呢?Parameter type,还有一个叫做result。Type,好,我们暂时先从这个字面意义来分析这些东西啊,首先这个parameter type指的什么意思啊,指的是啊,为咱们这个SQL语句啊传递的参数,OK吧,好哎,我们要为这个SQL语句传递什么参数,我先把这个SQL语序写上OK吧。
20:19
来,See that星from t student student OK吧,Where ID,我们以前说ID等于问号啊啊MY白提当中不是问号啊,叫做什么呢?井号划括号,ID。没有为什么硬性语法规则你就记就行了,OK吧,这些东西啊,明天老师给你讲OK吧,好,今天晚上先按照老师这么答OK吧,好大家想一想啊,我们传递这个ID,它是一种什么类型?看看呗。
21:01
咱这个ID很明显是个啥类型呢,是字符串类型呢,对不对,好,所以说咱们这个啊为SQL语句传递的参数的。类型它应该是什么呀?是不是应该是一个string类型啊,对不对,好,我现在先给它写全了啊,加了点long.string行吧,好result。返回的结果是什么?返回的结果是什么?这个这这个可有讲究了,同学们啊,也就是说啊,咱们现在这个星其实查询出来的是什么呢?ID name和。A,是这样吧,也就是说啊,我们现在的这个售后语序所查询的结果,不像我们以前JDBC啊,以前JDBC返回的是一个什么。Or?行,慢慢来。
22:03
行我们之前的接地BC的操作啊,注意了啊,呃,我们执行这个SQL语句啊,跟我们返回的是一个什么呢。Re result set是不是返回一个这么个东西啊,你是不是还得解析它呀?对吧,解析它之后,把里边所有东西studentt是不是得封装到咱们这个S对象中。看看以前的操作有多繁琐,怎么办?IFRS点。Next来呗,这个东西怎么玩?S点是吧,Set ID等于RS.get string里面写ID或者写编号都行一行吧,好,s.set。Name RS get,死性二,没问题吧,好,S点。
23:06
SH等于我们RS。这个get的时候呢,GETT3对不对,好,那么我们这个S对象里边才会有这个查询出来的这个结果是这样吗。我们今天的呢,我们今天的这个my bet操作啊,好大家注意啊,好,同样是执行SQL语句,注意看了啊,我想要的是什么呢。小了。什么意思?你返回的结果啊,再也不形成一个结果集了,而是什么呢?把你返回的结果ID name和age,根据我们返回的类型student类自动的创建出来一个对象,自动的给它调用set方法set进去,这一句搞定。
24:03
OK吧,所以说我们现在要处理的一个什么呢?Result type,咱们是不是应该返回一个student,哎,Student,那大家注意啊,我们要的是这个student这个全路径啊,好,这点需要注意了。好。好,一定是全路径啊,同学们OK吧,行,这个circle啊,咱们就写完了,接下来呢,咱们再来看一看啊,这回根据ID查单条啊,我们用到谁?大家注意啊,咱们是不是得用到这个session,以前老师说过了啊,所有周三改查是不是都离不开这个session呢?好,注意看先生,我们现在需要调一个方法,呃,如果你是添加咱们调in算方法。OK吧,修改update的方法,删除D类的方法查询呢。Select这个啊,你看它这个重载的可多了。我们用的是哪个,大家注意啊,有select list,我们还有什么select one。
25:02
我们这回调的是一个什么,说万就行了,肯定是查单条啊,对不对?好,我们现在用到的是两个参数,如果你要为SQL语句传参数啊,咱们要用到这两个参数的,OK吧,好。如果取得的是这个啊,单条记录啊,那么我们。调用select one方法OK吧。参数一表示我们要根据。命名空间点ID的形式。找到什么呢?我们需要使用的SQL语句参数二。就是我们要为SQ语句中传递的。参数OK吧,好,首先第一个啊,我们来看一看。
26:03
我要找到这个语序test。一、什么get by?ID啊,是这样的啊,test1.getbyidok吧,好,第二个参数我要根据ID查单条嘛,我是不是得给这个井号画括号,就相当于咱们以前那个问号给传个参数。好传个ID啊,比如说咱们根据A0一来插吴亦凡啊,好返回是。哎,咱们先来看一看啊,这东西挺有意思啊,Like one,大家注意啊,给我返回来一个什么TT叫什么呀,泛型,也就是说我们使用任意的类型来接收是不是都行啊。TTS它所执行的这个流程是这样的啊,我查询出来的这个ID name age,咱们简称这叫什么,是不是一个型啊,对不对,根据我返回这个类型,大家注意看啊,Student自动给我创建出来一个对象student s,通过这个对象我自动的set set set,把查询出来的这个结果set进去,OK吧,好,非常的简单啊,好,接下来呢,我再把这个S啊给它输出一下啊。
27:20
啊,因为我们写这个to string了嘛,对不对啊,是写to string了啊,那最后呢,咱们可以把这个session啊来进行一个关闭啊,Session点是吧,C close啊,其实你来一个session close,我们就相当于什么,最后执行了绘画的关闭就相当于是我们的。哎,这三个组件关闭之前你说的RS得关得关,Con是不是都得关呐,对吧?好,当然了,对于这个查询来讲的话,你现在这个session close不加他其实这个结果也能出。但是将来在这个工具中啊,你一定要把这个啊赛给它关闭掉,OK吧,好,我们现在先来试试看啊,咱们这个框架啊,搭建的这个情况如何。
28:05
来执行一下。好,我们来看一看啊,首先我们会看到这个结果,从图string里边看来,A001,吴亦凡23是不是相当于是我们查询出来的结果,我们再往上看啊,同学们啊,再往上看,往上看的结果是什么呢?上面是不是我们SQ语序的执行情况。Where ID等于问号,这能够说明什么呢?我们的底层执行的仍然是什么?接DBC吧,对吧?传递的参数是A01对不对?返回回来一条结果是这样吗?好,那这个是谁的功劳呢?哎,日志log fo节的功劳是这样吗?好,哎,这就是我们的MY。有没有什么感触,同学们?
29:00
嗯。反正给我最大的感触是什么呢?给我最大感触,我感觉用这玩意儿还不容用解的比心,有没有这种感觉哦,搭起来真的是好麻烦呢,对不对,好,但是大家注意了啊,搭框架啊,虽然麻烦,但是你搭完之后呢,哎,以后开发起来就方便了,搭就搭一次能理解吧,而且咱们这个现在这个买白题材没有执行这个优化的啊,明天啊,咱们一些代码不用写了,而且只写词后语句就行了,OK吧,好,但是呢,明天的东西大家注意啊,咱们略微的设及点这个架构这个问题,今天咱们这个框架必须得按照老师这个流程,这个顺序啊,这个给它搭出来,OK吧,明天。才能这个听课才能听得顺利,才能敲的明白,OK吧啊,这是一点啊,晚上一定要打今天几个活两活吧,第一个活什么这个东西啊,这个阿贾克斯东西,今天晚上再敲一敲,按照这个顺序来OK吧,这个答框架怎么至少至少不得答两遍呢?OK吧,要求自己独立回答OK吧,好,最后注意一点啊。
30:05
这里的东西啊。什么特type,什么result type,什么井号号号,这个东西我还没讲呢,OK吧,暂时按照老师这个来,明天我一个一个组件啊,咱们再说不着急,OK吧,行了,今天。
我来说两句