一直想写个评论系统,看了下多说,网易,简书的评论,想了下自己该实现怎样的评论系统。
评论系统关键是嵌套层数以及数据库表设计。嵌套层数多,表结构复杂,呈现也麻烦,最后决定实现一个二级评论。系统由maven构建,springboot快速搭建spring环境。前台采用angularjs+bootstrap,后台使用springmvc+mybatis,数据库采用MySQL.前台请求后台API操作评论。
目录结构
数据库表设计
##说说表或者文章表 create table saying ( saying_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, sayingContent VARCHAR(500) NOT NULL, author VARCHAR(50) NOT NULL, sayingAvatar VARCHAR(50) NOT NULL, likes VARCHAR(500) NOT NULL, createTime datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ##一级评论表 create table firstLevelComment ( flc_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, sayingId INT NOT NULL, commenter VARCHAR(50) NOT NULL, commenterAvatar VARCHAR(50) NOT NULL, commentContent VARCHAR(500) NOT NULL, commentTime datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ##二级评论表 create table secondLevelComment ( slc_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, sayingId INT NOT NULL, flcId INT NOT NULL, replier VARCHAR(50) NOT NULL, toCommenter VARCHAR(50) NOT NULL, replyContent VARCHAR(50) NOT NULL, replyTime datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
获取评论的mapper(关键)
<"1.0" encoding="UTF-8" "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="personal.timeless.cms.mapper.SayingMapper" > <resultMap id="SayingMap" type="saying" > <id column="saying_id" property="id" jdbcType="INTEGER" /> <result column="sayingContent" property="sayingContent" jdbcType="INTEGER" /> <result column="author" property="author" jdbcType="VARCHAR" /> <result column="sayingAvatar" property="avatar" jdbcType="VARCHAR" /> <result column="likes" property="likes" jdbcType="VARCHAR" /> <result column="createTime" property="createTime" jdbcType="TIMESTAMP" /> <collection property="flcs" ofType="firstLevelComment" column="sayingId"> <id column="flc_id" property="id" jdbcType="INTEGER" /> <result column="sayingId" property="sayingId" jdbcType="INTEGER" /> <result column="commenter" property="commenter"/> <result column="commenterAvatar" property="avatar"/> <result column="commentContent" property="commentContent"/> <result column="commentTime" property="commentTime" jdbcType="TIMESTAMP" /> <collection property="slcs" ofType="secondLevelComment" column="flcId"> <id column="slc_id" property="id" jdbcType="INTEGER" /> <result column="flcId" property="flcId" jdbcType="INTEGER" /> <result column="replier" property="replier"/> <result column="toCommenter" property="toCommenter"/> <result column="replyContent" property="replyContent"/> <result column="replyTime" property="replyTime" jdbcType="TIMESTAMP" /> </collection> </collection> </resultMap> <select id="selectOneById" resultMap="SayingMap" parameterType="int" > select * from (select * from saying s left join firstLevelComment fc on s.saying_id=fc.sayingId where s.saying_id=#{id}) tmp left join secondLevelComment sc on tmp.flc_id = sc.flcId </select> <select id="updateLikesById"> update saying set likes = #{likes} where saying_id = #{id} </select> </mapper>
页面展示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“基于Angularjs+mybatis实现二级评论系统(仿简书)”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
2024年11月14日
2024年11月14日
- 群星《奥运加油热歌精选》[FLAC/分轨][455.15MB]
- 群星《赤热 电视剧音乐原声》[320K/MP3][80.76MB]
- 群星《赤热 电视剧音乐原声》[320K/MP3][427.21MB]
- 周华健.1996-爱的光【滚石】【WAV+CUE】
- 杨宗宪.1996-想啥人怨啥人等啥人【有容唱片】【WAV+CUE】
- 郑秀文.2024-Best.Concert.Live【华纳】【FLAC分轨】
- 《Pax Dei》配置要求一览
- 《过山车之心2》存档位置介绍
- 《三国志8 REMAKE》评测:自定义的三国演义
- 群星《少年白马醉春风 网剧OST原声专辑》[320K/MP3][117.05MB]
- 群星《少年白马醉春风 网剧OST原声专辑》[FLAC/分轨][621.04MB]
- 《魏佳艺5CD合集》[WAV分轨][3.8G]
- CSGO职业选手donk怎么样 2024最新donk个人资料介绍
- CSGO职业选手NiKo怎么样 2024最新Niko个人资料介绍
- 剑网3丝路风语PVE焚影怎么打 丝路风语PVE焚影圣诀手法配装攻略