每次请求获取帖子接口时,分页获取帖子,每次返回五个帖子。
当请求的参数mid即帖子的id为-1时,返回最新的5个帖子,逆序返回;当请求的参数mid即帖子的id大于等于0时,返回mid~mid-4的五个帖子,逆序返回。
返回的内容包括:帖子的内容、图片、评论、帖子创建时间、点赞数、该用户是否点赞。
关键代码:
if (mid < 0) {
sql = "SELECT MAX(mid) AS maxid FROM moment";
statement = conn.prepareStatement(sql);
resultSet = statement.executeQuery();
if (resultSet.next()) {
mid = resultSet.getInt("maxid");
}
}
sql = "SELECT * FROM moment WHERE mid<=? AND mid>? ORDER BY mid DESC ";
statement = conn.prepareStatement(sql);
statement.setInt(1, mid);
statement.setInt(2, mid - 5);
resultSet = statement.executeQuery();
while (resultSet.next()) {
String comments = resultSet.getString("comments");
String likes = resultSet.getString("likes");
momentBean.moments.add(new MomentBean()
.setComments(getCommentBack(comments, conn))
.setImgs(resultSet.getString("imgs"))
.setText(resultSet.getString("text"))
.setMomentId(resultSet.getInt("mid"))
.setTime(resultSet.getString("date"))
.setUserId(Integer.parseInt(resultSet.getString("uid")))
.setLikes(getLikesNum(likes))
.setHasLike(getHasLike(likes, uid)));
}
momentBean.status = BaseConsts.STATUS_SUCESSED;