{"id":1919,"date":"2025-09-22T11:17:10","date_gmt":"2025-09-22T03:17:10","guid":{"rendered":"https:\/\/zero-zl.cn\/?p=1919"},"modified":"2025-09-22T19:34:35","modified_gmt":"2025-09-22T11:34:35","slug":"15-springboot3vue3%e5%ae%9e%e7%8e%b0%e6%a8%a1%e5%9d%97%e4%b9%8b%e9%97%b4%e7%9a%84%e5%85%b3%e8%81%94","status":"publish","type":"post","link":"https:\/\/zero-zl.cn\/index.php\/2025\/09\/22\/15-springboot3vue3%e5%ae%9e%e7%8e%b0%e6%a8%a1%e5%9d%97%e4%b9%8b%e9%97%b4%e7%9a%84%e5%85%b3%e8%81%94\/","title":{"rendered":"15. Springboot3+Vue3\u5b9e\u73b0\u6a21\u5757\u4e4b\u95f4\u7684\u5173\u8054"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e24\u4e2a\u666e\u901a\u4e1a\u52a1\u6a21\u5757\u4e4b\u95f4<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u65b0\u5efa\u6587\u7ae0\u5206\u7c7b\u8868<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE `category` (\n  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '\u4e3b\u952eID',\n  `title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '\u5206\u7c7b\u6807\u9898',\n  PRIMARY KEY (`id`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='\u6587\u7ae0\u5206\u7c7b\u8868';<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u628a\u6587\u7ae0\u6a21\u5757\u548c\u6587\u7ae0\u5206\u7c7b\u6a21\u5757\u5173\u8054\u4e0a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">1.\u5728\u6587\u7ae0\u4fe1\u606f\u8868\u91cc\u9762\u521b\u5efa\u4e00\u4e2a\u5173\u8054\u5b57\u6bb5\uff08\u4e0d\u662f\u521b\u5efa\u4e00\u4e2a\u5916\u952e\uff09<br>2.\u5728\u5b9e\u4f53\u7c7b\u548csql\u91cc\u9762\u4e5f\u52a0\u4e0a\u8fd9\u4e2a\u5b57\u6bb5<br>3.\u521d\u59cb\u5316\u5b57\u6bb5\u6570\u636e\uff0c\u518d\u9875\u9762\u65b0\u589e\u6216\u7f16\u8f91\u7684\u65f6\u5019\uff0c\u628a\u6570\u636e\u4f20\u9012\u5230\u540e\u7aef\uff0c\u64cd\u4f5c\u5230\u6570\u636e\u5e93\u91cc<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;el-form-item prop=\"title\" label=\"\u6587\u7ae0\u5206\u7c7b\"&gt;\n &lt;el-select\n v-model=\"data.form.categoryId\"\n placeholder=\"\u8bf7\u9009\u62e9\u6587\u7ae0\u5206\u7c7b\"\n size=\"large\"\n style=\"width: 100%\"\n &gt;\n &lt;el-option\n v-for=\"item in data.categoryDate\"\n :key=\"item.id\"\n :label=\"item.title\"\n :value=\"item.id\"\n \/&gt;\n &lt;\/el-select&gt;\n&lt;\/el-form-item&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>const loadCategory = () => {\n <strong><em>request<\/em><\/strong>.get('\/category\/selectAll').then(res => {\n if (res.code === '200') {\n data.categoryDate = res.data\n } else {\n <strong><em>ElMessage<\/em><\/strong>.error(res.msg)\n }\n })\n}\nloadCategory()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">4.\u5c06\u5206\u7c7bId\u5c55\u793a\u4e3a\u5206\u7c7b\u6807\u9898\uff0cjava\u4ee3\u7801\u91cc\u5199\u76f8\u5173\u903b\u8f91<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u8fd9\u4e2alist\u662f\u6570\u636e\u5e93\u67e5\u8be2\u51fa\u6765\u7684\u6570\u636e\nfor (Article dbArticle: list){\n    \/\/ \u83b7\u53d6\u5206\u7c7bID\n    Integer categoryId = dbArticle.getCategoryId();\n    \/\/ \u6839\u636e\u5206\u7c7bID\u67e5\u8be2\u5206\u7c7b\n    Category category = categoryMapper.selectById(categoryId);\n    if (ObjectUtil.isNotEmpty(category)) {\n        \/\/ \u628a\u5206\u7c7b\u7684title\u8d4b\u503c\u7ed9categoryTitle\n        dbArticle.setCategoryTitle(category.getTitle());\n    }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e1a\u52a1\u6a21\u5757\u4e0e\u89d2\u8272\u6a21\u5757\u4e4b\u95f4<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u628a\u4e1a\u52a1\u6a21\u5757\u548c\u89d2\u8272\u6a21\u5757\u5173\u8054\u4e0a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">1.\u5728\u6587\u7ae0\u4fe1\u606f\u8868\u91cc\u9762\u521b\u5efa\u4e00\u4e2a\u5173\u8054\u5b57\u6bb5\uff08\u4e0d\u662f\u521b\u5efa\u4e00\u4e2a\u5916\u952e\uff09<br>2.\u5728\u5b9e\u4f53\u7c7b\u548csql\u91cc\u9762\u4e5f\u52a0\u4e0a\u8fd9\u4e2a\u5b57\u6bb5<br>3.\u521d\u59cb\u5316\u5b57\u6bb5\u6570\u636e\uff0c\u518d\u9875\u9762\u65b0\u589e\u6216\u7f16\u8f91\u7684\u65f6\u5019\uff0c\u628a\u6570\u636e\u4f20\u9012\u5230\u540e\u7aef\uff0c\u64cd\u4f5c\u5230\u6570\u636e\u5e93\u91cc<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Account currentUser = TokenUtils.getCurrentUser();\narticle.setUserId(currentUser.getId() );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">4.\u5c06\u5206\u7c7bId\u5c55\u793a\u4e3a\u5206\u7c7b\u6807\u9898\uff0cjava\u4ee3\u7801\u91cc\u5199\u76f8\u5173\u903b\u8f91<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6c47\u603b\u4ee3\u7801<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ArticleService<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public PageInfo&lt;Article&gt; selectPage(Integer pageNum, Integer pageSize, Article article) {\n        \/\/\u5f00\u542f\u5206\u9875\u67e5\u8be2\n        PageHelper.startPage(pageNum, pageSize);\n        List&lt;Article&gt; list = articleMapper.selectAll(article);\n        \/\/ \u8fd9\u4e2alist\u662f\u6570\u636e\u5e93\u67e5\u8be2\u51fa\u6765\u7684\u6570\u636e\n        for (Article dbArticle: list){\n            \/\/ \u83b7\u53d6\u5206\u7c7bID\n            Integer categoryId = dbArticle.getCategoryId();\n            Integer userId = dbArticle.getUserId();\n            \/\/ \u6839\u636e\u5206\u7c7bID\u67e5\u8be2\u5206\u7c7b\n            Category category = categoryMapper.selectById(categoryId);\n            User user = userMapper.selectById(userId.toString());\n            if (ObjectUtil.isNotEmpty(category)) {\n                \/\/ \u628a\u5206\u7c7b\u7684title\u8d4b\u503c\u7ed9categoryTitle\n                dbArticle.setCategoryTitle(category.getTitle());\n            }\n            if (ObjectUtil.isNotEmpty(user)){\n                dbArticle.setUserName(user.getName());\n            }\n        }\n        return PageInfo.of(list);\n    }<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u6743\u9650\u8865\u5145<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u5224\u65ad\u662f\u666e\u901a\u7528\u6237\u8fd8\u662f\u7ba1\u7406\u5458\n        Account currentUser = TokenUtils.getCurrentUser();\n        if (\"USER\".equals(currentUser.getRole())){\n            article.setUserId(currentUser.getId());\n        }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e24\u4e2a\u666e\u901a\u4e1a\u52a1\u6a21\u5757\u4e4b\u95f4 \u65b0\u5efa\u6587\u7ae0\u5206\u7c7b\u8868 \u628a\u6587\u7ae0\u6a21\u5757\u548c\u6587\u7ae0\u5206\u7c7b\u6a21\u5757\u5173\u8054\u4e0a 1.\u5728\u6587\u7ae0\u4fe1\u606f\u8868\u91cc\u9762\u521b\u5efa\u4e00\u4e2a\u5173\u8054\u5b57\u6bb5\uff08\u4e0d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[114,102],"tags":[],"class_list":["post-1919","post","type-post","status-publish","format-standard","hentry","category-spring-boot3vue3","category-102"],"_links":{"self":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts\/1919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1919"}],"version-history":[{"count":6,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts\/1919\/revisions"}],"predecessor-version":[{"id":1933,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/posts\/1919\/revisions\/1933"}],"wp:attachment":[{"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero-zl.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}