查询

                                                                                  查询

   我们做项目的时候,难免会遇到到一些问题。遇到问题时候不要慌,写代码就是一个改错的过程,这句上课老师经常说到的,要学会分析错误,错在哪里是什么原因导致的,要怎么修改。

   做功能是需要查询数据的,新做的数据又是没有数据,所以做功能测试的时候要自己添加数据到数据库才能测试的了你写的代码是否有没有问题,所以首先呢就添加数据到数据如如下图就是需要添加的数据。其中有一个问题是如果没价格的我就让它的外键为空,这样的就只查到主表的信息而没查到副表信息了。

查询

查询

   该功能的数据添加好了,搭建好页面接下来做的就是查询数据和初始化表格,表格的初始虽说查询是最简单的但是刚开始做查询就遇到一个问题,重点就在这里问题查询主表房类信息和副表房类价格信息就可以查的出来,但是如果房类价格为空呢,我只需要它查询房类的信息不要价格信息,我就想我不设置房类价格的不就行了吗,这样子就查不到房类价格了吗,结果并不是我想的那样子,运行的结果是没价格的那几条信息就查了出来,但是没有价格的那几条信息的房类信息并没有查出来,吸取以往的错误教训所以最先检查了页面表格初始的代码是不是打错了什么,因为之前吧参数field打成了fixed了又或者是把字段名打错了或有空格那样子的,为什么打错打就显示不了呢,因为先要设定好字段名,字段名的设定非常重要,且是表格数据列的唯一标识,就是因为到页面检查了一番并没有错的,再到控制器检查也没有错,于是断点查看数据也没有读取到哪两条没有价格的房类信息,代码也改了好多遍,发现外键为空的就查不到数据,有外键就查询的到数据,让我百思不得其解是什么原因导致。

   于是就到网上去搜索这个问题,看了很多找很了多才找到一段解决外键为空,查询主表的信息的代码方法,一句代码就把这个问题解决了,

查询

  这段的代码个人理解是这样的当副表有数据的时候就回返回数值,如果副表的数据为空,则直接返回值就行,问题就这样解决了

1、查询数据库中的数据;

查询

2、将查询出来的数据计算出它的总条数

3、将查询到数据后对数据进行分页

Skip :跳过集合的前n个元素;延迟。即我们跳过给定的数目返回后面的结果集。

Take:获取集合的前n个元素;延迟。即只返回限定数量的结果集。

4、将计算好的总条数和分页好的数据装入“包装类”对象中

5.将封装好的数据返回到页面

 

查询

运行的结果如下图表示

查询