00:00
好,那我们之前呢,咱们讲了my be该如何处理一些特殊的circle,比如说咱们的模糊查询,批量删除,动态设置表明,以及咱们在添加功能的时候来获取自增的这个主件。好,然后下面我们需要来讲的问题呢,叫做自定义映射啊,什么叫做自定义映射呢?对吧?然后大家都知道啊,我们在之前咱们实现查询功能的时候,咱们用的都是result type啊result type呢,然后叫做默认的映射关系,要求我们的字段名跟属性名一致,好然后这个时候他们就能够自动创建映射关系,把我们查询出来的这个字段名呢,然后为相对应的属性赋值,那如果我们当前咱们的字段名跟属性名不一致,我们该如何来处理呢?或者说我们现在要来处理多对一以及一对多的映射关系,我们又该如何来处理呢?啊,这个时候咱们就需要用到result map了啊好,然后呢,首先咱们先来创建一个工程啊,然后呢,咱们在这个工程里面来讲,咱们的dot map啊,首先来大家看,然后咱们就叫做my be。
01:09
然后下划线叫做DEMO3 OK啊,然后来设置咱们的group ID叫做com.at,硅谷点my be,好,然后设置完成之后,下面咱们把咱们需要用到的东西都给拿过来,首先咱们的打包方式,然后是价包,然后再往下把我们当前咱们的工程所依赖的,所依赖的这些坐标呢,然后咱们也给它拿过来,CTRLC复制一下,然后放到我们当前的这个工程中,然后呢,导入一下更新,然后再往下的话,咱们就需要来创建我们的my beat的核心配置文件了,或者说呢,咱们可以先把我们所需要的这个GDBC.pro,以及我们的log for g点叉,然后都给它拿过来,复制过来啊好。行,那下面咱们点击邮件来创建咱们my be的核心配置文件,叫做my be,然后杠conf OK啊行,然后大家来看,那我们现在咱们是不是只需要把我们的类型别名所对应的包,以及咱们当前映射文件所对应的包来设置一下就行,对吧?首先大家看一下,咱们先来创建一个包啊,叫做com.at,硅谷,点my be,然后点叫pogo OK,然后下面咱们再来创建一个咱们map接口的包啊然后大家注意,这个咱们就叫做map,然后以及我们当前映射文件所在的包。com斜线记好了,中间不能写点啊,叫做at归国,然后斜线my be,然后斜线map。
02:50
OK,行,那我们在这咱们是不是也可以进行设置了对吧?com.at硅谷点买be.pogo好,这个地方的话是。com点买at硅谷点买be.map OK,那我们设置完成之后,那我们今天咱们要操作的表是什么表呢?大家注意,因为我们现在要来创建的是多对一以及一对多的关系,那所以说我们在这咱们重新来创建两张表,比如说咱们的第一张表呢,咱们叫做T_EP员工表,然后其中咱们的字段呢,然后有EID表示的是我们员工的ID,好,然后类型咱们可以设置为int,然后这个长度的话咱们可以不设置,因为它有一个默认的范围,所以说长度咱们不需要设置啊,然后主键以及自增,然后在这大家看好了,那我们大家都知道,咱们的表里面,咱们在设置字段的时候,字段有字段的规则时。
03:51
体类中属性有属性的规则字段的话,咱们是不是应该是单词与单词中间咱们用的是下划线,而我们的属性的话,咱们应该用的是驼峰,那换句话来说,比如我现在我要来设置员工的姓名的话,咱们如果按照这个字段的规则的话,应该是emp下划线内,这个大家能看懂吧,大家大家注意在这有下划线,只不过是咱们看不到啊。好,然后它的类型的话,咱们需要来设置的是瓦恰,那它所对应的属性的话,是不是应该就是驼峰EP大写的N,然后name OK吧,那这个时候咱们的字段名跟属性名就不一样了,那这个时候我们该如何处理它的映射关系呢?哎,咱们先把表给创建完啊来长度是20,然后这个是A阶,然后int类型。
04:43
然后下面是性别,然后咱们来设置一个char类型就可以啊,行,然后再往下的话,咱们再设置一个emil,叫做email邮箱地址,这也是一个瓦卡类型,OK啊,行,那我们现在咱们设置完了,设置完成之后咱们先把它给保存一下啊,啊,这长度没有设置好,然后咱们先把它给保存一下,然后下面我们再来创建咱们的第二张表叫T_de PT OK吧,它的这个列名咱们叫做did,然后数据类型的话,咱们是不是也设置为in就可以,然后主键自增,然后它的名这个,呃,另外一个字段咱们设置为第1PT,下划线内是我们当前咱们的部门名称啊,然后类型呢,也是瓦墙长度,咱们给它设置20 OK,那咱们现在这两张表呢,咱们就已经创建完了,那我们该如何来创建它们的表关系呢?那其实我们在。
05:43
讲我们的这一个呃,就是动呃获取呃,添加功能来获取咱们自动递增的主键的时候,咱们就说过,咱们当时给大家举的例子就是班级和学生的关系,对吧,咱们当时呢就说了,不管是多对一还是一对多,咱们的表关系设置的是一样的。
06:03
我们都需要在多的这一方来设置一的主键。所以说我们现在呢,咱们是不是应该是在员工表里面来设置它所对应的部门的ID,对不对,所以说在这大家看好,咱们就可以在这来写个DA,来表示咱们的员工所对应的部门的IDOK吧,好啊,行,大家再看,那在这个时候它的类型是不是应该是要跟咱们第1PT部门表中的DA的类型保持一致,能看懂吧,好,现在咱们来进行保存好,然后咱们来添加,简单添加一些测试数据啊,比如说员工名称叫做张三。张三好,然后李四好,然后王五。然后这个是赵六。赵六。对吧,然后这个是田七OK啊行,然后年龄的话,咱们随便写啊,三十二十二对吧,然后34,然后28,呃,然后性别的话,咱们也是啊,随便把它添加一些测试数据就行难OK。
07:08
好,然后这个是女。这个也是女,然后邮箱地址的话,大家来看啊,123艾特QQ,然后点com行,然后咱们来复制啊,把它们都设置成一样的啊,然后至于dad的话,那我们现在咱们是不是应该是要先有我们的部门信息对不对,比如说咱们部门的话,咱们就设置的简单一些,咱们一共三个部门,分别是ABCOK吧,然后呢,我们员工所对应的部门ID,那咱们就这样12312 OK,那我们的第一个部门中有两个员工,然后咱们的第二个部门中有两个员工,第三个部门中只有一个员工啊行,那我们把咱们的这个表创建完成之后,我们就可以来创建它所对应的什么,咱们就可以来创建它所对应的这个实体类,以及我们当前咱们的map接口以及映射文件了啊,首先呢,咱们先把实体类创建出来,叫做com.a硅谷点啊,已经创建过了啊,所以说咱们直。
08:11
直接叫做emp就行啊好,首先啊,然后大家看它的这个字段名。叫做EID,所以说对应的属性名也叫EID,对吧?然后但是当我们来设置它的员工姓名的时候,咱们的字段名叫EP_name而我们当前根据咱们的属性的规则,我们是不是应该叫做emp name用的是驼峰,OK吧,然后再往下大家来看private,然后in tIgEr类型的。Age年龄,然后是string类型的sex性别,然后再往下,然后是不是应该是我们的string类型的emal,你没有OK吧,好,然后再往下的话,那我们这个表和表之间的关系是多对一和一对多,那咱们的实体类和实体类之间也要有关系,对吧?这个咱们等到一会儿讲多对一和一对多的时候,咱们再具体的去设置啊。
09:11
好,然后下面咱们来生成它所对应的get跟set方法,以及有参构造和无参构造啊来。行,然后最终咱们再来生成它的to string就行啊。好,下面大家来看,我们再来创建一个实体类,然后咱们叫做de PT,好,然后这其中的话是不是应该也是应该是in tIgEr类型的did,然后以及我们按照属性的规则,然后所创建的DEP name OK吧,好,再加上我们当前咱们的构造器有参构造和无参构造,以及他们的set跟get方法,然后还有咱们最终的一个to string方法啊啊。行,那我们现在咱们的实体类就创建完了,那创建完成之后,下面咱们再来创建咱们的map接口以及映射文件,好,首先第一个咱们叫做EP map,然后呢,再来创建我们当前的这个dept map map好,然后再来创建咱们的映射文件,大家看好把它给创建到这啊,行,咱们找到my be-map,大家注意这个叫EP map点叉ML,咱们要来保证它的命名空间要和咱们map接口的权利名一致,Map点1MP map好,然后再来创建咱们的dept map来。
10:38
Map,好啊,行,这样就可以啊好,com.at硅谷点买be.map.dept map OK,咱们就设置完了,好,然后呢,我们现在咱们把这些创建完成之后,我们主要是通过我们的这个工程来测试我们的result map的功能,那result map呢叫自定义映射。
11:05
对吧?那之前我们是不是都没有管过映射关系,咱们只要通过result type来设置了我们当前查询出来的数据所对应的实体类类型,保证字段名跟属性没一致,那他们就能够自动映射,但是我们现在大家会发现,我们的属性咱们是按照属性的规则用的是驼峰,而我们的字段咱们用的是字段的规则,我们用的是下划线,OK吧,那这个时候他们该如何来进行映射呢?好,那下面呢,咱们就通过咱们的案例呢,然后来测试一下啊。
我来说两句