00:00
好,那下面咱们来看一下咱们的第四种情况,那第四种情况呢,就比如说我现在要实现的是一个添加用户的,添加用户信息的功能,好,那我们现在是需要在页面中呢,然后去收集用户输入的一些内容,然后呢,把它提交到服务器中,然后获取完之后呢,咱们是不是一定要把它封装到一个user对象里面,对吧?然后这个时候大家想一下,那我们要做的是不是应该就是把它传输到service,然后现在这个service需要来调用的是咱们的map接口,而这个时候map接口中的这个方法呀,然后它的参数就应该是咱们的U的对象,也就是一个实体类类型的参数。那我们现在要做的就是把实体类类型中的这个各个属性的值,然后把它给拼接到我们的SQ具中来实现一个添加用户信息的功能,那我们可以先把这个功能来写一下,首先呢,它的返回值可以是VO,也可以是int,这个咱们说过好多次了,如果说你不需要获取它的返回值,那你就写in,那你就写VO,如果咱们要想来获取它的返回值的话,就写int,因为增删改方法的返回值是固定的啊好,下面咱们在这写in色的user,然后把一个user对象,然后拿进来,然后这个功能啊,大家看一下。
01:19
好,然后是添加用户信息的功能,然后我们把它复制,然后放在我们的映射文件中。好,然后insert表情ID要跟咱们的方法名一致,然后再往下咱们的circlel语句,大家来看一下into表名T_UR,然后values,好,第一个是ID,那咱们要来写的是慢,让它自动递增,那第二个我们是不是就需要来从我们传输过来的这个U的对象里面,然后来获取数据了,那这个时候咱们该如何来获取呢?其实大家想一下啊,咱们的第二种情况和第三种情况,我们都是从map集合中获取数据,而map集合的结构呢?然后是键值对的结构,那我们当前咱们的实体类中的结构,大家有没有想过,其实它跟这个键值对的结构很像啊,它是属性名和属性值,所以说我们现在呢,咱们要想来获取我们当前实体类中属性所对应的属性值,那我们只需要通过井号大括号或Dollar大括号,然后使用属性名的方式就可以来获取相对应的属性值。所以。
02:29
可以说非常的简单,大家一定要注意,它跟咱们当前第二种情况,第三种情况,这个map集合它的结构是一样的,都是键值对,所以说咱们只需要通过键就可以获取值了,但是大家需要注意的一点啊,就是什么,就是我们当前就比如说咱们拿这个优点来说,这里面到底什么是属性啊。ID username password age gender email,这些是属性吗?大家注意,可以说是,也可以说不是,好然后为什么这样去说,那是因为啊,咱们的属性其实跟咱们的成员变量没有关系,咱们的属性主要来看的是谁,看的是咱们的get跟set方法,然后你需要去找到get跟set,把方法名里面的get跟set去掉,剩余部分的首字母变为小写的,变为小写的结果这才叫做属性名。那为什么我们说。
03:23
这个属性跟成员变量是一样的,因为我们当前咱们这里边儿的get跟set方法,你都是通过idea以成员变量为模板创建出来的,所以说我们当前咱们的属性跟成员变量是一样的,这个大家注意,但是呢,大家需要注意的一个问题是啥呀?就是我们当前咱们可以没有成员变量,但是如果一个类里面有get跟set方法,那大家一定要知道,它在没有这个成员变量的情况下,它不影响我们去访问这个属性,这个大家一定要注意啊。好,所以说咱们的一个类中到底什么是属性,再给大家说一遍,它只跟咱们的get跟set方法有关,然后我们当前呢,咱们找到get跟set方法,那什么时候用get,什么时候用set,这个简单,如果你要取值就找get,如果你要赋值,那就找set,然后我们把get跟set方法的方法名里面的get跟set去掉,剩余部分的内容首字母变为小写的,结果它就是属性,这个大家注意啊。
04:25
好,那下面呢,我们在这咱们应该怎么写啊,大家想想第二种和第三种方式,通过键访问值,那我们当前的实体类类型的参数,咱们只需要通过属性名就可以来获取属性值,所以说在这是user name,再往下,然后是password,然后再往下第三个是年龄,然后第四个,然后是金,然后第五个,然后是email OK,大家注意啊,一定要看好它的访问方式,然后下面呢,我们就可以来进行测试了呀,咱们把这个方法呀,然后复制一下。
05:02
好,然后方法名咱们叫做test insert user insert user,好,然后我们在这咱们需要来调用的方法,然后是不是应该是map.in色user方法,然后我们在这把user对象给创建出来,等于new,然后一个user OK,然后呢,这里面咱们怎么写,第一个ID自动递增,所以咱们不需要复持,然后第二个的话是用户名,那咱们在这呢,这个写一个rot root,然后密码123456,然后年龄33,然后再往下性别,咱们给他一个女,然后再下是邮箱123艾特qq.com OK,然后下面咱们把这个U的对象啊,直接放在我们当前咱们的这个方法的参数位置就可以啊好,下面我们在这来一个执行,然后大家看啊,看咱们最终的一个效果。
06:00
好,大家看没有任何问题对不对,然后这是我们当前的circle,这是我们为我们当前的占位符,然后所传输的数据所赋的值,然后最终呢,我们在这咱们受影响的行数是一没有问题啊好,那下面呢,我们再来看咱们的这个MYSQ里面,咱们来验证一下,看有没有添加成功,现在咱们来一个刷新,大家看ROOT123456没有问题啊,像这是我们的第四种情况,首先大家要知道该如何去访问我们实体类类型参数的实体类类型的参数里面的各个属性值,第四种情况若map。啊,若map接口方法的参数,然后是什么类型,大家注意,然后为实体类类型的参数,对吧?然后这个时候咱们只需要一样的啊,咱们只需要通过井号大括号和Dollar大括号来访问,谁来访问咱们实体类中的属性名,大家注意访问实体类中的属性名,然后就可以来获取相对应相对应的属性值,OK,这个大家注意啊,好,当然呢,咱们还是一定要注意Dollar大括号的单引号问题,OK吧,那这个Dollar大括号呢,大家下去可以自己测试一下,那当然咱们说过以后咱们用的比较多的就是井号大括号,除非是在一些特殊的情况下,咱们可能只能用Dollar,对吧,但是一般情况下咱们用的都是井号大括号,因为它可以自动加单引号嘛,对吧,这样的啊好,然后呢,大家还。
07:40
还有一个问题就是大家一定要注意什么叫属性名?这个属性名我再说一遍,它跟成员变量是没有关系的,它只跟谁有关系,只跟我们当前的get跟set方法有关系。当把方法名里面的get跟set去掉,剩余部分的首字母变为小写的过程,小写的结果就是我们当前的属性名好,然后大家可能感觉它跟成员变量是一样的,但是你一定要注意一个问题,就比如说我当前如果没有成员变量,但是我有get跟set方法,那我们是可以去访问到它所对应的属性的。
08:15
这个大家要注意啊,好,那这是咱们的第四种情况,非常的简单,如果是一个实体类类型的参数,通过属性名就可以来获取相对应的属性值,OK啊。
我来说两句