当前位置 博文首页 > 浮若星光的博客:如何把数据保存到session中

    浮若星光的博客:如何把数据保存到session中

    作者:[db:作者] 时间:2021-06-26 15:41

    博客转载于https://blog.csdn.net/weixin_44512123/article/details/95043087

    看到这两个表格的时候不知是怎么把这两个表格的数据移来移移去的。这个算是个新的知识,经过来同学的提示先把选中到的房间保存到session中。让后再查询session的中的数据。我当时疑问为什么要报存到session中呢而不是直接报存到数据库中呢。我就想为什么不能直接报存到数据呢?后来认真细想了一下。就明白了很多就是如果直接保存数据库而操作员不小心选错房间要移除重新选过房间,那样的话又要从数据库中删除了。那样显然做法不太对,而保存到session他只是临时如果要移除直接从session中移除就行了,当房间确定后我在保存的时候提取session中所选到的房间保存到数据就行了在这里插入图片描述
    首先声明一个sessionApartment列表。判断传过来拼接的ID是为空,不为空就分割ID再遍历这个数组的ID,再把string类型转换成int类型。查询要添加到列表中所需要的数据。在这里插入图片描述

    如果查询查到需要添加的数据长度小于0等于0表示是没有数据,就直接跳出。不用往下执行了。如果查询的数据是大于0,说明是有数据的就遍历列表,还要声明一个行行列表,就相当表中的一行数据。把查询的字段一个一个赋给这新的行里。再把这这行data添加到声明的sessionApartment中,然后再保存
    在这里插入图片描述
    这里的判断也比较重要的一步,一开始没有判断的时候,在添加房间的时候发现可添加重复的房间,出现同样的房间的房号吧,一个酒店应该不会出现相同的房间的房号吧,这就是一个bug了。

    解决方法:判断如果session中等于为空那么直接往里面添加一条数据并保存到session中,如果session中不等于空那么就查询session中是是否已经有相同的的数据了,根据session中的房间和穿过来的ID对比,如果相等则条件成立,长度大于0直接让他输出不让他新增,如果没有查到到有,则长度等于0表示session中没有相同,就添加数据并保存到session中。

    在这里插入图片描述
    效果图如下如图所示

    在这里插入图片描述

    下一篇:没有了