实现类似空间说说与评论存储表的结构与测试逻辑
来源:互联网 发布:win10查看电脑mac地址 编辑:程序博客网 时间:2024/05/17 22:02
之后做项目会有社交模块,所以就先把这块搞一下。
本篇文章要解决的问题是:一个说说下面,某一组评论有三个及三个以上的人参与的情况下,从数据库中输出能够正确表达评论人之间的逻辑关系,并且保证时间的正确的先后顺序。
说说表(saysay):
id:主键、无意义
owner:说说的主人
sendtime:发布时间
content:说说内容
做了三个测试,前两个失败了,最后一个成功了。三个测试的不同之处只是在于评论的存储内容和结构。
另说明‘一级评论’的含义:即直接评论说说内容的评论称为一级评论
测试一(失败):
评论表(comments)
id:主键、无意义
owner:该评论的发出者
sendtime:评论的时间
content:评论的内容
ssid:是哪条说说的下面的评论
pid:回复的(那个人的id),<该属性值为零时代表一级评论>
该测试的缺陷是:在采用递归的方法遍历出一组评论的情况下,它能够保证评论人之间的逻辑的正确性,但是由于它是深度优先遍历的,所以时间就不能正确的显示。
测试二(失败):
评论表(comments)
id:主键、无意义
owner:该评论的发出者
sendtime:评论的时间
content:评论的内容
ssid:是哪条说说的下面的评论
pid:一级评论的id,<该属性值为零时代表一级评论>
该测试的缺陷:在获取说说的所有评论之后,在每输出一条一级评论之后,就输出该一级评论下的所有评论。它能够保证输出的评论时间的先后顺序,但是评论人之间的逻辑会出现不匹配的情况。
测试三(成功):
评论表(comments)
id:主键、无意义
owner:该评论的发出者
toname: 该评论是回复哪个人的
sendtime:评论的时间
content:评论的内容
ssid:是哪条说说的下面的评论
pid:一级评论的id(值为0 代表一级评论)
该测试添加了一个属性toname(即该评论是回复哪个人的)。可以正确的输出评论人之间的逻辑关系和时间的的正确顺序。
该测试java代码的逻辑:
1、获取说说内容之后,得到说说的id
2、根据说说的id,获取该说说下的评论(按照发布时间递增的顺序查询),并且输出一级评论
3、在每输出一条一级评论之后,获取该一级评论的id,获取该一级评论下的所有评论即可。
- 实现类似空间说说与评论存储表的结构与测试逻辑
- 数据的存储结构与逻辑结构
- Oracle物理结构与逻辑结构--(数据文件与表空间) .
- 查看qq空间说说及评论,设置相关表结构
- 数据结构逻辑结构与存储结构
- 数据结构之逻辑结构与存储结构
- Oracle逻辑存储结构与物理存储结构
- 数据结构之逻辑结构与物理结构(存储结构)
- java实现类似与redis的hash存储操作
- Atitit qzone qq空间博客自动点赞与评论工具的设计与实现
- 数据的4种逻辑结构与4种存储结构
- 线性表的顺序存储结构与链式存储结构
- 逻辑结构与物理结构
- 文件的逻辑与物理结构
- 图的理解:存储结构与邻接矩阵的Java实现
- 图的理解:存储结构与邻接矩阵的Java实现
- Oracle 逻辑存储结构之表空间管理和段空间管理
- 与存储过程sp_MSforeachdb类似的存储过程sp_MSforeachdb
- jquery after append appendTo三个函数的区别
- SVD与PCA,奇异值分解与主成分分析的比较
- Ingress traffic control
- 关于ServletConfig与ServletContext的访问
- 替换元素、非替换元素、行内元素框模型
- 实现类似空间说说与评论存储表的结构与测试逻辑
- 卫条件
- JAVA常用代码片段
- 应用层杂谈
- Android 省市县 三级联动(android-wheel的使用)
- do while
- iOS地图展示mapkit框架-基本使用
- 文章标题
- 22.5-5求有向图的分量图