00:00
好,回到我们这个项目中来看一下啊,首先第一步加的依赖my better的依赖my cle的驱动,然后第二步我们来写我们的这个接口。然后写这个接口。那这个接口里边呢,定一个方法,方法的名字我叫做select student返回值呢是一个例子的集合,集合中存放的是死丢单的对象,这是我们的方法表示呢,我要去查询学生表的全部数据。再写一个对应的和它同名的一个XML文件,在这个文件的里边呢,我们首先。它几个要求,第一个呢,就是你的namespace应该是这个接口的全限定名称,这个名称呢,它在整个项目中肯定是唯一的,因为我们一个类的名字权限的名称它肯定是唯一的呀。这个位置呢,它就是一个唯一的标志符,我要求你呢,用的是接口中的啊,就是说这个啊,我要求你呢,是接口中的全限定名称,在这写的应该是这啊,它这个唯一值是一个自定义字符串。
01:17
要求你用的是接口的权限定名称啊,权限名称这是你的namespace,这个一定别忘了和你这个接口的名字保持完整一致就可以了。在map这个跟标签的里边呢,我们使用各种各样的标签,例如select来完成一个查询的操作。那在这个C类标签中呢,我们有ID。ID呢,这个名字呀,是来代表这条cle语句的,我们在买be的内部是用这个名称来代表你要执行的这条cycle语句的。然后这个result type呢,它的目的是代表着你的这条三卷执行之后。
02:05
这条语坠执行之后,它查出的数据最终要转成的对象是这个丢的类型的。My be呢?会把ID列的值赋给死丢单单的ID的属性,会把name的列的值赋给单的name属性。默认呢,是同名的列付给同名的属性的。由MYBAT负责创建student。对象,并且呢,给属性赋值,这样的话你就不用自己去做这个赋值操作了,就能得到这个对象了,那么这个type呢。它代表的是返回的类型,这个类型呢,它实际上呢,是和你的这个发的返回值和它是一致的。就代表呢,你只用这条cycle得到的是一个死丢,它的对象的集合,跟它是一致的啊,是这样的,然后里边就cle语院了,这就完成了,那以后我们做买班的项目开发时呢。
03:14
经常做的就是改动这个文件,在文件中来写各种各样的CQ语句。select代表是查询,它里边对应的是查询语句。如果你要做的是其他操作,那么对应有更新标签、插入标签和删除标签。这是你的map文件,专门写C语句的。这么做有什么好处呢?那就是你的Java代码和你的C是分开的吧,分开的当你改动cle的时候,对你的原先代码呢,几乎没什么影响,是一种分开的方式。这写完之后,下面呢,还有一个就是它的主配置文件是放在resource目录之下。在这个文件里边呢,我们不用过多的关心,因为大多数内容呢,后期我们都不用了,在这里呢,主要指的就是这to是连接池的意思,然后指定数据库的连接信息。
04:14
连接信息呢,我们包括有呢,我们的驱动类的名字,连接到数据库的信息法函数域名和密码,这不写错了,这个主配置文件呢,有一个就够用了,就一个啊,就一个。你的my bet,它在启动时候会读这个文件,连接到这个数据库,后面呢,还有一个呢,就是对于my pro文件的一个指定,也就是你写CQ里那个文件在哪,你得告诉这个MY。那现在呢,我们指定是resource。这个resource呢,来指定是你这个文件的位置,它是指定在类路径之下的相关的一个路径,所以这有斜杠,斜杠是路径啊。Map这个标签呢,它一次只能指定一个map文件,也就是CQ映射文件,如果你有多个的话,你得需要写多个这样的标签,每一个来指定一个单独的文件才可以的,这就完事了,好。
05:16
那么这个文件呢,我们就写完了,那怎么去用这个两个文件的内容呢?在这里实际上你只要读取到这个文件。就能知道数据库的信息,也能知道这个文件了,所以我们在使用的时候,只需要读这个文件就行了,所以在我们测的时候呢,我们是这样做的。这是一个查询方法,测试这个事里的代码人群比较多,但实际上呢,绝大多数代码都是固定的,只有几行呢是变化的。我们要知道你连接哪个数据库。你得需要知道这个主配置文件在哪,你告诉这个文件呢,是叫买bad叉ML。到哪去找这个文件呢?是到类路径根开始,因为你的代码经过编译之后呢,是放在他给的目录下,你是执行他给目录下里边的类。
06:10
你得知是这个类,就是它这才是类嘛,所以呢,我们在找这些文件的时候,都是看这个目录的。它下面的才是你项目执行时要用到的文件和各种资源,那很显然我们这个买bad叉M文件呢,是在我们classes这个目录的,是不是下面呢,根目录之下你看。把它折叠上之后,你会发现你的my bet点叉L呢是在这个根目录的下面,在这呢,所以当你这样写之后,你的my be是从这个类路径根下面开始加载这个文件的,所以就能找到这个my better这个文件的,那么你注意这块你叫什么名字?跟这块是不是得一致才行啊,它得一致,因为这样你才能找这个文件读取它嘛,读取它这个文件干什么,你注意看这一个resource的方法。
07:05
他要读取这个文件,得到一个input stream,你读了这个文件之后,你不就能够读到里边的信息了吗?在这个文件中。这是你的买白的这个文件,你读到这个文件之后就能知道连接数据库信息吧,所以当读到这儿之后,你就能创建连接connection对象了。当然这个connection呢,是由你的my better内部自己创建的,所以呢,你读到这个文件就有连接了,那么在下面这块呢,你只要读到这句话,你就能找到这个塞口语句的信息吧。因为你读到它之后,那这个文件你不也能读到,那么间接的能读到这里面信息了吗。啊,所以说这读文件很重要。读完之后往下来。我们是把这个引不dream呢,把它给了这个build的方法,目的呢是创建这个对象,叫cycle sense of factory。
08:04
创建它,你才能够通过OPEN3得到一个叫CYCLE3对象。它很重要,为什么?因为你看在执行这个cle时候,这是不是CCLE3的一个方法叫cist的呀,Sist呢是表示要执行这个水果查询得到多条记录。得到多条记录,它的结果呢,是一个例子的一个集合。是一个例子的集合,在这呢,所以你最终呢,是要执行的是这个CQ的方法来执行C语句。那么他怎么知道我要请哪一个赛口语句呢?你得告诉他呀。告诉他的时候用的是一个标识,也就是这样的一个标识来表示你要只用三个语句。那么这个三角在哪存着呢?是在这个文件里边吧?
09:00
那怎么找这个文件呢?就需要通过一个叫做namespace这个值。和你具体的那个ID的名字来找到,那么当你写的是com,北京power DAO死掉DAO之后,那么它和这个文件中的name SP这是匹配的,找到这个文件。然后再找到里边的这个ID的值,就知道要只是这条圆圈了,它通过这样的标识来找到对应的CQ语句的,所以这块呢,它是一个唯一的标识,然后点分隔,再加上你的ID值,它俩组合在一块,一定是在项目中是唯一的,通过这个唯一呢来定位到你的S语句,那么它联合的值呢,是这条语句是这个ID啊。那么这个ID就代表是这个文件中的那个SQ,怎么确定这个文件,就是因为前面的这个namespace。是和该文件中的name对应的,那么定位的就是这个文件,再通过后面的这个ID。
10:09
来定位在当前这个文件中。具体的ID是哪一个是它最后整体到语句了,所以我才说呢,它应该是唯一的,它应该是唯一的,它俩加在一块,在整个项目中是唯一的,目的是用来定位你要执行这条塞科语句。好,那这样的话呢,你的my be通过name space加上标签的ID值,就能够唯一的确定带执行的语句。通过三个三个方法就来执行这个语句,获得一个结果了,那你会发现在整个执行过程中,在这一块两个关键的位置中,你没有看到塞口语的具体内容吧?他因为在这里写的,用这个标识来代表这条CQ的。调用方法来执行就可以了,最后你需要把用到的这个C3层呢,Close把它关闭了就OK了,就完事了。
11:09
好,这就是我们昨天给大家讲的这个。粒子的代码的一个解读啊。关键性的你就看这两句就OK了,就这两句后面呢,你再看其力的时候,主要就是这发生变化,其他地方一般都不变。
我来说两句