From 13dac8176272d6d6cfdcf2d48a71d024f84f12e0 Mon Sep 17 00:00:00 2001
From: ZSY <2127145278@qq.com>
Date: Sun, 15 Dec 2024 23:16:11 +0800
Subject: [PATCH] 1
---
.idea/workspace.xml | 7 +
src/java/mapper/ArticleCategoryRefMapper.java | 70 ++++++
src/java/mapper/ArticleMapper.java | 223 ++++++++++++++++++
src/java/mapper/ArticleTagRefMapper.java | 54 +++++
src/java/mapper/CategoryMapper.java | 79 +++++++
src/java/mapper/CommentMapper.java | 111 +++++++++
src/java/mapper/LinkMapper.java | 61 +++++
src/java/mapper/MenuMapper.java | 49 ++++
src/java/mapper/NoticeMapper.java | 70 ++++++
src/java/mapper/OptionsMapper.java | 48 ++++
src/java/mapper/PageMapper.java | 63 +++++
src/java/mapper/TagMapper.java | 67 ++++++
src/java/mapper/UserMapper.java | 79 +++++++
src/java/service/ArticleServiceImpl.java | 2 +-
14 files changed, 982 insertions(+), 1 deletion(-)
create mode 100644 src/java/mapper/ArticleCategoryRefMapper.java
create mode 100644 src/java/mapper/ArticleMapper.java
create mode 100644 src/java/mapper/ArticleTagRefMapper.java
create mode 100644 src/java/mapper/CategoryMapper.java
create mode 100644 src/java/mapper/CommentMapper.java
create mode 100644 src/java/mapper/LinkMapper.java
create mode 100644 src/java/mapper/MenuMapper.java
create mode 100644 src/java/mapper/NoticeMapper.java
create mode 100644 src/java/mapper/OptionsMapper.java
create mode 100644 src/java/mapper/PageMapper.java
create mode 100644 src/java/mapper/TagMapper.java
create mode 100644 src/java/mapper/UserMapper.java
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 744599e..04807e9 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -13,6 +13,11 @@
+
{
@@ -56,6 +61,8 @@
+
+
diff --git a/src/java/mapper/ArticleCategoryRefMapper.java b/src/java/mapper/ArticleCategoryRefMapper.java
new file mode 100644
index 0000000..1fe8379
--- /dev/null
+++ b/src/java/mapper/ArticleCategoryRefMapper.java
@@ -0,0 +1,70 @@
+package com.liuyanzhao.ssm.blog.mapper;
+
+
+import com.liuyanzhao.ssm.blog.entity.ArticleCategoryRef;
+import com.liuyanzhao.ssm.blog.entity.Category;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 文章分类关联表Mapper
+ * @author liuyanzhao
+ */
+@Mapper
+public interface ArticleCategoryRefMapper {
+
+ /**
+ * 添加文章和分类关联记录
+ * @param record 关联对象
+ * @return 影响行数
+ */
+ int insert(ArticleCategoryRef record);
+
+ /**
+ * 根据分类ID删除记录
+ * @param categoryId 分类ID
+ * @return 影响行数
+ */
+ int deleteByCategoryId(Integer categoryId);
+
+ /**
+ * 根据文章ID删除记录
+ * @param articleId 文章ID
+ * @return 影响行数
+ */
+ int deleteByArticleId(Integer articleId);
+
+ /**
+ * 根据分类ID统计文章数
+ * @param categoryId 分类ID
+ * @return 文章数量
+ */
+ int countArticleByCategoryId(Integer categoryId);
+
+
+ /**
+ * 根据文章ID查询分类ID
+ *
+ * @param articleId 文章ID
+ * @return 分类ID列表
+ */
+ List selectCategoryIdByArticleId(Integer articleId);
+
+ /**
+ * 根据分类ID查询文章ID
+ *
+ * @param categoryId 分类ID
+ * @return 文章ID列表
+ */
+ List selectArticleIdByCategoryId(Integer categoryId);
+
+ /**
+ * 根据文章ID获得分类列表
+ *
+ * @param articleId 文章ID
+ * @return 分类列表
+ */
+ List listCategoryByArticleId(Integer articleId);
+
+}
\ No newline at end of file
diff --git a/src/java/mapper/ArticleMapper.java b/src/java/mapper/ArticleMapper.java
new file mode 100644
index 0000000..c6930da
--- /dev/null
+++ b/src/java/mapper/ArticleMapper.java
@@ -0,0 +1,223 @@
+package com.liuyanzhao.ssm.blog.mapper;
+
+import com.liuyanzhao.ssm.blog.entity.Article;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * 文章Mapper
+ *
+ * @author liuyanzhao
+ */
+@Mapper
+public interface ArticleMapper {
+
+ /**
+ * 根据ID删除
+ *
+ * @param articleId 文章ID
+ * @return 影响函数
+ */
+ Integer deleteById(Integer articleId);
+
+ /**
+ * 根据用户ID删除
+ *
+ * @param userId 用户ID
+ * @return 影响函数
+ */
+ Integer deleteByUserId(Integer userId);
+
+ /**
+ * 添加文章
+ *
+ * @param article 文章
+ * @return 文章
+ */
+ Integer insert(Article article);
+
+ /**
+ * 更新文章
+ *
+ * @param article 文章
+ * @return 影响行数
+ */
+ Integer update(Article article);
+
+ /**
+ * 获得所有的文章
+ *
+ * @param criteria 查询条件
+ * @return 文章列表
+ */
+ List findAll(HashMap criteria);
+
+ /**
+ * 文章归档
+ *
+ * @return
+ */
+ List listAllNotWithContent();
+
+ /**
+ * 获取文章总数
+ *
+ * @param status 状态
+ * @return 数量
+ */
+ Integer countArticle(@Param(value = "status") Integer status);
+
+ /**
+ * 获得留言总数
+ *
+ * @return 数量
+ */
+ Integer countArticleComment();
+
+ /**
+ * 获得浏览量总数
+ *
+ * @return 文章数量
+ */
+ Integer countArticleView();
+
+ /**
+ * 获得所有文章(文章归档)
+ *
+ * @return 文章列表
+ */
+ List listArticle();
+
+ /**
+ * 根据id查询用户信息
+ *
+ * @param status 状态
+ * @param id 文章ID
+ * @return 文章
+ */
+ Article getArticleByStatusAndId(@Param(value = "status") Integer status, @Param(value = "id") Integer id);
+
+ /**
+ * 分页操作
+ *
+ * @param status 状态
+ * @param pageIndex 从第几页开始
+ * @param pageSize 数量
+ * @return 文章列表
+ */
+ @Deprecated
+ List pageArticle(@Param(value = "status") Integer status,
+ @Param(value = "pageIndex") Integer pageIndex,
+ @Param(value = "pageSize") Integer pageSize);
+
+
+ /**
+ * 获得访问最多的文章(猜你喜欢)
+ *
+ * @param limit 查询数量
+ * @return 文章列表
+ */
+ List listArticleByViewCount(@Param(value = "limit") Integer limit);
+
+ /**
+ * 获得上一篇文章
+ *
+ * @param id 文章ID
+ * @return 文章
+ */
+ Article getAfterArticle(@Param(value = "id") Integer id);
+
+ /**
+ * 获得下一篇文章
+ *
+ * @param id 文章ID
+ * @return 文章
+ */
+ Article getPreArticle(@Param(value = "id") Integer id);
+
+ /**
+ * 获得随机文章
+ *
+ * @param limit 查询数量
+ * @return 文章列表
+ */
+ List listRandomArticle(@Param(value = "limit") Integer limit);
+
+ /**
+ * 热评文章
+ *
+ * @param limit 查询数量
+ * @return 文章列表
+ */
+ List listArticleByCommentCount(@Param(value = "limit") Integer limit);
+
+
+ /**
+ * 更新文章的评论数
+ *
+ * @param articleId 文章ID
+ */
+ void updateCommentCount(@Param(value = "articleId") Integer articleId);
+
+ /**
+ * 获得最后更新的记录
+ *
+ * @return 文章
+ */
+ Article getLastUpdateArticle();
+
+ /**
+ * 用户的文章数
+ *
+ * @param id 用户ID
+ * @return 数量
+ */
+ Integer countArticleByUser(@Param(value = "id") Integer id);
+
+ /**
+ * 根据分类ID
+ *
+ * @param categoryId 分类ID
+ * @param limit 查询数量
+ * @return 文章列表
+ */
+ List findArticleByCategoryId(@Param("categoryId") Integer categoryId,
+ @Param("limit") Integer limit);
+
+ /**
+ * 根据分类ID
+ *
+ * @param categoryIds 分类ID集合
+ * @param limit 查询数量
+ * @return 文章列表
+ */
+ List findArticleByCategoryIds(@Param("categoryIds") List categoryIds,
+ @Param("limit") Integer limit);
+
+ /**
+ * 获得最新文章
+ *
+ * @param limit 查询数量
+ * @return 列表
+ */
+ List listArticleByLimit(@Param("userId") Integer userId, @Param("limit") Integer limit);
+
+ /**
+ * 批量删除文章
+ *
+ * @param ids 文章Id列表
+ * @return 影响行数
+ */
+ Integer deleteBatch(@Param("ids") List ids);
+
+ /**
+ * 获得一个用户的文章id集合
+ *
+ * @param userId
+ * @return
+ */
+ List listArticleIdsByUserId(Integer userId);
+}
\ No newline at end of file
diff --git a/src/java/mapper/ArticleTagRefMapper.java b/src/java/mapper/ArticleTagRefMapper.java
new file mode 100644
index 0000000..6738b20
--- /dev/null
+++ b/src/java/mapper/ArticleTagRefMapper.java
@@ -0,0 +1,54 @@
+package com.liuyanzhao.ssm.blog.mapper;
+
+
+import com.liuyanzhao.ssm.blog.entity.ArticleTagRef;
+import com.liuyanzhao.ssm.blog.entity.Tag;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 文章标签关联表Mapper
+ * @author liuyanzhao
+ */
+@Mapper
+public interface ArticleTagRefMapper {
+
+ /**
+ * 添加文章和标签关联记录
+ * @param record 关联对象
+ * @return 影响行数
+ */
+ int insert(ArticleTagRef record);
+
+ /**
+ * 根据标签ID删除记录
+ * @param tagId 标签ID
+ * @return 影响行数
+ */
+ int deleteByTagId(Integer tagId);
+
+ /**
+ * 根据文章ID删除记录
+ * @param articleId 文章ID
+ * @return 影响行数
+ */
+ int deleteByArticleId(Integer articleId);
+
+ /**
+ * 根据标签ID统计文章数
+ * @param tagId 标签ID
+ * @return 文章数量
+ */
+ int countArticleByTagId(Integer tagId);
+
+ /**
+ * 根据文章获得标签列表
+ *
+ * @param articleId 文章ID
+ * @return 标签列表
+ */
+ List listTagByArticleId(Integer articleId);
+
+
+}
\ No newline at end of file
diff --git a/src/java/mapper/CategoryMapper.java b/src/java/mapper/CategoryMapper.java
new file mode 100644
index 0000000..e3f5b15
--- /dev/null
+++ b/src/java/mapper/CategoryMapper.java
@@ -0,0 +1,79 @@
+package com.liuyanzhao.ssm.blog.mapper;
+
+import com.liuyanzhao.ssm.blog.entity.Category;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+
+import java.util.List;
+
+/**
+ * @author liuyanzhao
+ */
+@Mapper
+public interface CategoryMapper {
+
+
+ /**
+ * 添加
+ *
+ * @param category 分类
+ * @return 影响行数
+ */
+ int insert(Category category);
+
+
+ /**
+ * 更新
+ *
+ * @param category 分类
+ * @return 影响行数
+ */
+ int update(Category category);
+
+ /**
+ * 根据分类id获得分类信息
+ *
+ * @param id ID
+ * @return 分类
+ */
+ Category getCategoryById(Integer id);
+
+
+ /**
+ * 删除分类
+ *
+ * @param id 文章ID
+ */
+ int deleteCategory(Integer id);
+
+ /**
+ * 查询分类总数
+ *
+ * @return 数量
+ */
+ Integer countCategory();
+
+ /**
+ * 获得分类列表
+ *
+ * @return 列表
+ */
+ List listCategory();
+
+ /**
+ * 根据父分类找子分类
+ *
+ * @param id 分类ID
+ * @return 列表
+ */
+ List findChildCategory(@Param(value = "id") Integer id);
+
+ /**
+ * 根据标签名获取标签
+ *
+ * @param name 名称
+ * @return 分类
+ */
+ Category getCategoryByName(String name);
+}
\ No newline at end of file
diff --git a/src/java/mapper/CommentMapper.java b/src/java/mapper/CommentMapper.java
new file mode 100644
index 0000000..e8976b3
--- /dev/null
+++ b/src/java/mapper/CommentMapper.java
@@ -0,0 +1,111 @@
+package com.liuyanzhao.ssm.blog.mapper;
+
+import com.liuyanzhao.ssm.blog.entity.Comment;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.HashMap;
+import java.util.List;
+
+@Mapper
+public interface CommentMapper {
+
+ /**
+ * 根据ID删除
+ *
+ * @param commentId 评论ID
+ * @return 影响行数
+ */
+ int deleteById(Integer commentId);
+
+ /**
+ * 添加
+ *
+ * @param comment 评论
+ * @return 影响行数
+ */
+ int insert(Comment comment);
+
+ /**
+ * 根据ID查询
+ *
+ * @param commentId 评论ID
+ * @return 评论
+ */
+ Comment getCommentById(Integer commentId);
+
+ /**
+ * 更新
+ *
+ * @param comment 评论
+ * @return 影响行数
+ */
+ int update(Comment comment);
+
+ /**
+ * 根据文章id获取评论列表
+ *
+ * @param id ID
+ * @return 列表
+ */
+ List listCommentByArticleId(@Param(value = "id") Integer id);
+
+
+ /**
+ * 获得评论列表
+ *
+ * @return 列表
+ */
+ List listComment(HashMap criteria);
+
+
+ /**
+ * 获得某个用户收到的评论
+ *
+ * @return 列表
+ */
+ List getReceiveComment(List articleIds);
+
+
+ /**
+ * 统计评论数
+ *
+ * @return 数量
+ */
+ Integer countComment();
+
+ /**
+ * 获得最近评论
+ *
+ * @param limit 查询数量
+ * @return 列表
+ */
+ List listRecentComment(@Param(value = "userId") Integer userId,
+ @Param(value = "limit") Integer limit);
+
+ /**
+ * 获得评论的子评论
+ *
+ * @param id 评论ID
+ * @return 列表
+ */
+ List listChildComment(@Param(value = "id") Integer id);
+
+
+ /**
+ * 根据用户ID删除
+ *
+ * @param userId 用户ID
+ * @return 影响函数
+ */
+ Integer deleteByUserId(Integer userId);
+
+
+ /**
+ * 根据文章ID删除
+ *
+ * @param articleId 文章ID
+ * @return 影响函数
+ */
+ Integer deleteByArticleId(Integer articleId);
+}
\ No newline at end of file
diff --git a/src/java/mapper/LinkMapper.java b/src/java/mapper/LinkMapper.java
new file mode 100644
index 0000000..dba04b8
--- /dev/null
+++ b/src/java/mapper/LinkMapper.java
@@ -0,0 +1,61 @@
+package com.liuyanzhao.ssm.blog.mapper;
+
+import com.liuyanzhao.ssm.blog.entity.Link;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author liuyanzhao
+ */
+@Mapper
+public interface LinkMapper {
+
+ /**
+ * 删除
+ * @param linkId 链接ID
+ * @return 影响行数
+ */
+ int deleteById(Integer linkId);
+
+ /**
+ * 添加
+ *
+ * @param link 链接
+ * @return 影响行数
+ */
+ int insert(Link link);
+
+ /**
+ * 根据ID查询
+ *
+ * @param linkId 链接ID
+ * @return 影响行数
+ */
+ Link getLinkById(Integer linkId);
+
+ /**
+ * 更新
+ *
+ * @param link 链接ID
+ * @return 影响行数
+ */
+ int update(Link link);
+
+ /**
+ * 获得链接总数
+ *
+ * @param status 状态
+ * @return 数量
+ */
+ Integer countLink(@Param(value = "status") Integer status);
+
+ /**
+ * 获得链接列表
+ *
+ * @param status 状态
+ * @return 列表
+ */
+ List listLink(@Param(value = "status") Integer status);
+}
\ No newline at end of file
diff --git a/src/java/mapper/MenuMapper.java b/src/java/mapper/MenuMapper.java
new file mode 100644
index 0000000..d39a48a
--- /dev/null
+++ b/src/java/mapper/MenuMapper.java
@@ -0,0 +1,49 @@
+package com.liuyanzhao.ssm.blog.mapper;
+
+import com.liuyanzhao.ssm.blog.entity.Menu;
+
+import java.util.List;
+
+/**
+ * @author liuyanzhao
+ */
+public interface MenuMapper {
+
+ /**
+ * 删除
+ *
+ * @param menuId 菜单ID
+ * @return 影响行数
+ */
+ int deleteById(Integer menuId);
+
+ /**
+ * 添加
+ * @param menu 菜单
+ * @return 影响行数
+ */
+ int insert(Menu menu);
+
+ /**
+ * 根据ID查询
+ *
+ * @param menuId 菜单ID
+ * @return 菜单
+ */
+ Menu getMenuById(Integer menuId);
+
+ /**
+ * 更新
+ *
+ * @param menu 菜单
+ * @return 影响行数
+ */
+ int update(Menu menu);
+
+ /**
+ * 获得菜单列表
+ *
+ * @return 列表
+ */
+ List