00:00
好,那我们刚才呢,咱们是给大家测试了,查询一条数据为实体类对象,查询多条数据为历史的集合,那当然咱们有的时候也会来查询单行单列的数据,就比如说我们现在咱们要来查询用户表里面用户的总数据量,总记录数,那这个时候咱们查询出来的就是一个单行单列,特别是咱们的分组函数,比如说求平均值呀,然后求和,求最大值,最小值,求求总记录数,在你不分组的情况下,咱们查询出来的就是单行单列。这个大家能听懂吧,不分组的情况下啊。好,还有呢,就是我们当前咱们通过一个具体的条件去查询某个字段的值,比如说咱们有一个图书表。你要去查询某一本图书的价格,那这个时候咱们查询出来的就是某一条数据里面的一个字段,然后它的结果也是单行单列。好,那这个时候咱们该怎么去做呢?就比如说呀,然后我们现在呀,然后咱们来做一个例子,然后我们现在怎么去写,大家看好,比如说方法的返回值啊,咱们设置为ineg,然后我们叫做get count来获取当前用户的总记录数,来杠星星回车查询用户的总数量,OK,然后咱们把它给复制,然后放在我们当前的映射文件中,然后咱们把这个SQL语句啊,然后来写一下它的ID要跟方法名一致,那关键是它的的type,大家想一想,我们要设置为什么呢?我们之前咱们在这里面写的都是咱们的实体类类型的别名,那这个时候咱们应该写啥呢?咱们先把circle语序写出来,Select count括号箱,对吧,然后from t_U的好,首先大家先看这个count星来查询的是当前表里面的总记录数,咱们还有一些其他的。
01:59
方式,就比如说count里面加某一个具体的字段可以没问题,Count里面来加上一个数值也是可以的,你比如说你写零啊,你写个一都无所谓,这个时候它查询出来的结果都是一样的啊,但是大家要注意,你这里面只有一种情况,它是不一样的,就是这里面大家写个字段,就比如说我们现在呢,然后咱们把谁给写进去啊,你把这个ID写进去,那它就是通过ID,然后来获取我们当前的总记录数,好,然后它的特殊情况在哪呢?比如说呀,我们现在有个字段的职位难。
02:35
比如说我在这大家看好,我再来添加一条数据,然后这个叫做李四好,然后密码是123 OK,咱们现在设置完了,然后如果我们要查总记录数的话,然后count括号,你写个箱,然后from,然后from t_U大家注意这个时候查询出来的结果是几,是四没问题,然后咱们再来一个扶持,然后如果你这里面写个一,写个零,写个普通的数值,查询出来的还是四好,但是如果你写的是一个字段,你写ad,然后大家看查询出来的结果仍然是四,但是如果你写的是H。
03:16
A级这个字段大家记不记得第四个用户信息,它的年龄是难,咱们有没有设置年龄啊,没有,所以说我们现在咱们再来一个执行之后,大家会发现是三,为啥呢?哎,大家看好,当你通过count,然后来查询总记录数的时候,如果你括号里面来写的是一个字段,那这个字段的值为难的话,它是不会被记录在内的。这个大家能听懂吧,所以说我们现在咱们查询出来的数据是几啊,只有三,就是admin,张三,还有root这三个用户信息,李四他有没有算在内呢?没有。OK吧,你看咱们刚才写ID的时候都没有问题,因为ID都是有值的,但是如果你的某个字段值为难的话,你通过这个字段来获取总记录数,那当前为难的这条数据是不会记录在内的啊好,OK,那下面呢,我们再往下看,那咱们在这就写一个星就可以啊,那关键是咱们的read的type我要设置,为什么呢?大家想想我要查询的结果是ineg,那也就是说我现在要把我查询出来的结果转换为ineg类型,那所以很简单,在这大家直接把咱们当前的int类型给写上就可以。
04:29
OK吧,好,然后在这大家再来看一下啊,咱们把它给复制。然后方法名咱们叫做test get count,然后我们所调用的方法,然后叫做map.get count,然后获得一个int类型的返回值,咱们直接把它输出好,下边大家看一下啊。好,然后现在咱们是能够查询出来这个结果的,大家看啊,结果为四没问题。啊,然后但是你看这样去写好像有些麻烦,Java点浪点in tIgEr对吧,然后但是其实这个地方大家注意我们能写的东西啊很多,你比如说有田老师我写int行不行可以。
05:13
你看我们现在咱们再来一个执行,大家看啊好,咱们是仍然能够把这个结果呢给查询出来的,所以说在这写int也行,那我在这来写这个in tIgEr行不行啊对吧,然后我现在再来一个执行,然后大家看一下啊来。好,你看也没问题,然后呢,如果我要把这个A呀给写成是小写的行不行,然后我们现在再来一个执行。好,大家看也没问题,那我在这如果我把这个咱们的int给写成是大写的int,那这个时候它可不可以呢?好,咱们这是最后一次尝试啊。啊,大家看一下也没问题,哎,那这说明啥呢?你看这这怎怎么这怎么能用这么多的这个这个方式来设置呢,大家说为什么,你看它是不是好像不区分大小写啊,咱们刚才写小写的in没毛病对吧,然后咱们写in tIgEr,你把A写成大写小写也没问题。
06:11
那大家想想,那咱们写的到底是啥呀?咱们在讲这个read type的时候,咱们说过这后边来写的内容啊,然后可以是两个内容,一个就是咱们具体的某一个类型,然后一个就是咱们的类型别名,而且刚才大家也看到了,我在写int和咱们写这个in t的时候,我写大写也行,写小写也行,那说明啥?那说明我们用的是谁?咱们是不是在讲myab的时候,只有别名是不区分大小写的,对吧?所以说我们刚才用的int还有in t,其实它并不是指一个具体的类型,而是我们当前某一个类型的别名。这个大家注意,那这个别名咱们也没有设置过呀,那当然大家想想你都能够用别名,那my be是不是也可以帮助我们提前设置好一些别名啊。
07:01
是不是好,大家来把我们的官方文档给打开,然后我们来找到谁叫做configuration查苗,这就是咱们的核心配置文件,这是咱们的映射文件,咱们把它给打开,大家看这是不是有一个叫type unless对不对,然后咱们直接往下找,大家看啊来。好,然后咱们来找到这个位置,马上就到了,这就是咱们的类型别名,然后下面我们再往下大家看,在这有一个表格,然后这个表格里面啊,然后就是我们当前MY为咱们Java里面常用的一些类型来设置的类型别名,比如说前面叫别名,后边叫类型,你看这些基本数据类型是不是都有啊,Bet是下划线bet。对吧,然后恰下划线恰或下划线恰REC对吧?你看咱们刚才咱们的这个int,它到底对应的是这个int类型吗?不是int类型,它的这个别名是下划线int和下划线in t,那int和in t指的是谁呢?大家看在这呢,Int和in t它都是咱们的in t类型的别名。
08:10
这个大家能看懂吗?好,OK,所以说大家要知道为什么咱们在这写int也行,你写in t也行,因为它其实是某一个类型,是咱们的java.long.in t的别名,这个大家注意啊。好,然后下面咱们在这儿可以给大家写一下,大家注意,然后咱们这样去写,然后咱们的result type中,然后当咱们获取。或者说咱们直接这样写,叫做my be中啊,然后为咱们的Java中常用的类型对吧,然后设置了类型别名,类型别名都有啥呢?比如说咱们的in t类型,然后它所对应的别名啊,有谁有in t,然后还有谁int,而咱们的int类型,它的别名有什么?下划线int,还有下划线in t_in in。
09:07
OK吧,哎,是这样的啊好,然后那我们在这咱们也可以看一些其他的类型的别名,就比如说我们马上要用的叫做map,我们下面咱们就需要把咱们的数据查询为一个map集合,所以说在这大家看一下map集合,这右边是类型,左边是别名啊你看map它的别名是什么?就叫map,哈希map它的别名就叫哈希map OK吧,好,大家只要把主要记得就是咱们的这几个,或者说大家再记一个什么呀,叫做string。String类型,大家看它的别名是不是就叫string,当然如果说你不知道无所谓,那不知道,那咱们总知道它具体的类型吧,你把它具体的类型设置出来也可以啊,就像是咱们第一回写的Java,点当点in有问题吗?没有任何问题啊。好,然后下面呢,我们再来看,咱们把这个也写上对吧,这个map集合对吧?然后它的别名是什么?它就叫做map,哎,行,大家把这几个记着就行,还有一个是string对吧,它的别名它就叫做string OK啊。
10:12
好,那这是我们当前咱们的第三种查询的情况,就是说我们查询出来的是一个单行单列的数据,那这个时候大家要想好,你这个数据要转换为我,要转换为我们Java中的哪一种类型,大家再把这种类型或者说这种类型的别名设置在type里面就可以啊,好OK。
我来说两句