00:00
好,那我们刚才咱们已经创建了my bet的核心配置文件,然后下面大家来看一下,我们来创建一个map接口,那什么是map接口呢?Map接口在买be里面,它就相当于我们原来的dau,但是呢,我们原来的dau咱们有接口层,然后有时间类,但是map呢是不需要创建时间类的,我们只需要去创建它的接口,然后我们就可以通过my be里面的一些功能啊。来为他创建一个代理时间类,然后当我们去调用这个接口中的方法,然后他就可以直接去帮助我们对应一个SQL语句来执行这个SQ语句。好,OK,那下面咱们把这个接口创建一下啊,然后这个接口咱们该如何去起名呢?大家注意,咱们一般都是这样,有这样的一个规则,我们所操作的表,比如说叫T_user那我们当前咱们所对应的实体类叫做user类,然后我们当前的map接口,咱们就叫做user map,这个大家一定要注意啊,好,然后呢,我们把这个map接口创建一下啊,然后我们在这咱们再来创建一个包,比如说这个包咱们就叫做map,叫做map包,然后在这个包下面呢,咱们来创建一个接口,就叫做user map user map,然后这里面咱们可以来写一个方法,比如说这个方法呀,然后它就是我们当前咱们实现添加功能的方法,那大家都知道增删改方法的返回值呀,是固定的,是受影响的行数,所以说我们可以设置为返回值为int,然后方法名,比如说咱们测试一个添加功能,叫做insert user OK,咱们就这样去。
01:39
写,那我们还没有去学习一些更深入的内容,那我们就先把circleq尾去给写死,来添加一条固定的数据啊。好,Map接口创建完成之后呢,然后下面呢,我们再往下看,那我们需要来创建买be体的映射文件,因为我们大家都知道啊,按照以往我们所写的三层架构,当我们调用的dau中的一个方法的话,然后我们其实来执行的是它的实现类中我们所写的过程,然后我们会提供SQ位句,然后呢,通过咱们GDBC的工具类,然后执行SQ语句来获得结果。那我们现在呢,咱们在my bet中,我们需要来创建的是my bet的映射文件,我们的一个map接口对应了咱们映射文件中的一个circle语句,这个大家一定要注意啊。好,下面呢,我们先来看一下咱们相关的一些概念,叫做OM,叫做对象关系映射,然后这个对象呢,它指的是咱们Java中的实体类对象关系指的是咱们关系。
02:39
型的数据库,然后映射指的是咱们二者之间的一个对应关系,就比如说我们的类对应咱们的一个表,这个大家都知道,咱们的属性来对应我们当前表里面的字段,也就是一列咱们的对象来对应的是咱们表里面的一个记录,也就是一行数据。好,然后下面映射文件该如何创建呢?跟我们刚才咱们的map接口啊,然后最好是同名的,就比如说我们当前咱们的一个映射文件,一个map接口叫user map,那我们当前咱们的映射文件呢,建议大家也叫做user map,点叉ML,这个大家注意。
03:17
好,那我们现在咱们使用了my be之后啊,大家一定要知道他们的对应关系啊,咱们的一张表对应我们的一个实体类,然后对应我们当前的一个map接口,对应我们的一个映射文件,然后呢,我们的map接口中的方法,然后对应的是我们映射文件中的一个circleq语句,那我们可以先把它呢给创建出来,然后咱们来找到我们的resource,比如说咱们下面在这儿来创建一个目录,专门来存放咱们的映射文件,咱们就叫做maps,然后再往下,然后我们在这来创建一个映射文件,那映射文件咱们也选择一个new file,然后比如说跟咱们的map接口保持一样的名字,然后点叉按名,那这里面的内容我们应该怎么去写呢?然后我们再次把我们当前咱们的一个啊官方文档呢给打开,然后咱们再往下,然后大家注意啊,咱们往下找,大家注意这个地方呢,然后就是我们当前一个映射文件中的内容,然后咱们可以把它复制。
04:18
然后放到我们当前的映射文件中,然后大家注意同样的第一行叉ML文件的声明,然后呢,咱们下面的这一个标签,然后它指的是我们当前的约束,然后引入的DTD文件,然后来规定当前的配置文件中能够所使用的标签,然后再往下的话是它的跟标签,叫做map,然后呢,我们把这里面的这个骚口语句啊,咱们把它给删掉,咱们可以自己来看一下,大家看一下你看这里面的标签。Select,那大家第一印象是不是应该就是这个里面来的就是咱们的查询语句,Insert里面写的是添加语句,Delete,删除语句,Update,修改语句,OK吧,所以说映射文件里面主要写的是circlel语句,这个大家注意啊,好,那我们从当前map map接口和映射文件的名字咱们就能看出来,它们两个是一个对应关系,对吧?好,然后呢,所以说我们现在咱们该如何来执行一个SQ语句呢?大家注意,我们要来保证两个一致,首先咱们要来保证映射文件的name space呀。
05:22
然后要和我们map接口的全类名保持一致,叫做com.at,归口点my be.map.user map,大家注意,这个时候啊,我们当前咱们的map接口就和我们当前咱们的映射文件对应上了,好,然后下面呢,我们来调用我们当前的map接口中的方法,大家都知道我们当前在之前我们写GDBC的过程中,那我们的dau咱们是怎么来执行的,我们调用dau中的方法,其实我们是要让它去执行一个circle的,那这个时候我们就可以在咱们的映射文件中,然后让我们的一个方法来对应其中的一个circle口,比如说我们在这把这个注释给写上,我也建议大家呢,以后都这样去写,对吧?然后我们把咱们的map接口中的方法呀复制过来写到注释中,然后在下面呢,去写它所对应的circleql语句怎么写,大家看这是一个添加功能,那所以咱们应该用的标签是银色的标签,然后大家要保证。
06:22
要保证的第二个一致,就是要保证方法名要跟咱们的搜口语句的ID保持一致,这个大家注意,那这个时候当我们去调用map接口中的这个方法,那它就会根据我们当前map接口的全类名来找到咱们的映射文件,然后呢,会根据我们当前要调用的方法的方法名来找到我们当前的这个circleq语句,然后来获取这个标签中的circle口来执行这个circle。比如说呀,咱们把这个circle语句写出来,Insert into,然后提下划线,User,然后values括号,那咱们的第一个ID自动递增,那咱们设置为难,然后第二个用户名,咱们写个A的me,然后密码123456,然后再往下年龄23性别,咱们给他一个男,然后再往下的话,最后是一个邮箱,12345,艾特qq.com OK。
07:19
行,那这个就是我们当前要执行的circle,那我们当前的map接口啊和映射文件,大家一定要注意,我们一定要保证他们两个的一致,然后怎么来保证大家注意啊,然后来我们的接口,然后和map接口,然后和映射文件,对吧,要保证。要保证。两个一致。首先大家注意第一个已知map接口的全类名。和映射文件的name space一致。
08:02
好,这个大家一定要注意,然后第二个一致大家看好了,然后我们的map中的方法名的方法名。然后要和谁保持一致呢?要和我们的映射文件。中的circle的ID保持一致。好,这个大家注意,那当我们现在保持了一致之后,那我们每一次去调用咱们的map接口中的方法,那我们就可以直接去找到我们当前映射文件中的一个SQ聚态执行啊OK,好,那我们现在映射文件创建完了,大家还记不记得咱们还有一个步骤呢,对不对?在哪呢?在核心配置文件中咱们说了,如果我们创建了映射文件,那我们一定要把映射文件给引入到我们当前的。核心配置文件中,所以说我们在这儿呢,一定要把买V的映射文件给引入,怎么来写呢。
09:02
好,然后map maps,然后加上斜线,然后再把我们当前呀,然后咱们的user map的叉苗拿过来就可以,这个大家一定要注意啊,好,OK,因为大家看它两个之间的关系啊,然后它们两个都是在咱们的resource下的,所以说它们两个是平级的,那我们就可以直接在这个文件中来访问到maps,然后再访问到我们当前maps下面的user map查苗,OK,那这是我们当前非常重要的一个步骤,咱们把map接口和映射文件就已经创建好了啊。
我来说两句