基于springboot和mybatis的RealWorld后端项目实战二之实现tag接口

news2024/9/19 10:41:54

修改pom.xml

在这里插入图片描述
在这里插入图片描述

新增tag数据表

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for tags
-- ----------------------------
DROP TABLE IF EXISTS `tags`;
CREATE TABLE `tags` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of tags
-- ----------------------------
INSERT INTO `tags` VALUES ('14', 'java');
INSERT INTO `tags` VALUES ('15', 'javascript');
INSERT INTO `tags` VALUES ('16', 'python');
INSERT INTO `tags` VALUES ('17', 'golang');
INSERT INTO `tags` VALUES ('18', 'php');
INSERT INTO `tags` VALUES ('19', 'dfdsfsd');
INSERT INTO `tags` VALUES ('20', 'fafdaf');
INSERT INTO `tags` VALUES ('21', 'zzzzzz');

src/main下新增resources目录

在这里插入图片描述

resources目录下新增application.yml

server:
  port: 8008
spring:
  profiles:
    active: dev

resources目录下新增application-dev.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: root
    url: jdbc:mysql://localhost:3307/my_realworld?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false
    type: com.zaxxer.hikari.HikariDataSource

新增以下包和文件

在这里插入图片描述

Tag.java

package org.example.domain;

import lombok.Data;
@Data
public class Tag {
	private Long id;
	private String name;
}

TagRsp.java

package org.example.domain;

import java.util.List;

public class TagRsp {
    public List<String> tags;
}

TagMapper.java

package org.example.mapper;

import org.apache.ibatis.annotations.*;
import java.util.List;

@Mapper
public interface TagMapper {
	@ResultType(String.class)
	@Select("select name from tags")
	List<String> allTags();

}

TagController.java

package org.example.controller;

import org.example.domain.TagRsp;
import org.example.mapper.TagMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("api")
public class TagController {
    private final TagMapper tagMapper;

    @Autowired
    public TagController(TagMapper tagMapper) {
        this.tagMapper = tagMapper;
    }

    @GetMapping("/tags")
    public ResponseEntity<?> getTags() {
        TagRsp tagRsp = new TagRsp();
        tagRsp.tags = tagMapper.allTags();
        return ResponseEntity.status(HttpStatus.OK).body(tagRsp);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1929531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卷积加速算法img2col、Winograd、FFT

FFT 空间域中矩阵的卷积算子&#xff0c;实际等于频率域中两个矩阵元素相乘。但卷积的方向是相反的。 通常情况下&#xff0c;feature的尺寸要比卷积的尺寸大很多&#xff0c;如果对两者进行快速傅里叶变换的话&#xff0c;得出来的两个矩阵大小不一样&#xff0c;不能进行对…

Java读写t5557卡源码

T5557卡是美国Atmel公司生产的多功能非接触式射频卡芯片&#xff0c;属于125KHz的低频卡&#xff0c;在国内有广大的应用市场。该芯片共有330bit(比特)的EPROM(分布为10个区块, 每个区块33bit)。0页的块0是被保留用于设置T5557操作模式的参数配置块。第0页第7块可以作用户数据块…

ATA-8202射频功率放大器有什么作用

射频功率放大器是一种专门用于放大射频信号功率的电子器件。它在无线通信、雷达系统、卫星通信、医疗设备和广播电视等领域中发挥着重要作用。下面安泰电子将介绍ATA-8202射频功率放大器的作用及其在不同应用领域中的具体应用。 一、ATA-8202射频功率放大器的作用 射频功率放大…

短链接day8

短链接监控 开发访问单个短链接监控统计功能 不知道是哪里复制错了&#xff0c;反正就是一顿报错&#xff0c;改了这个又改那个&#xff0c;还是报错。。暂时不管了。 记录短链接访问日志 logdo新增networt、device、local属性。 分页查询短链接访问日志 分页查询短链接今…

使用Bind提供的域名解析服务

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、DNS域名解析服务 二、安装Bind服务程序 1、正向解析 2、反向解析 三、部署从服务器 四、安全的加密传输 五、部署缓存服务器 六、分…

AI算法19-偏最小二乘法回归算法Partial Least Squares Regression | PLS

偏最小二乘法回归算法简介 算法概述 偏最小二乘法模型可分为偏最小二乘回归模型和偏最小二乘路径模型。其中偏最小二乘回归模型是一种新型的多元统计方法&#xff0c;它集中了主成分分析、典型相关分析和线性回归的特点&#xff0c;特别在解决回归中的共线性问题具有无可比拟…

在JavaScript中,什么是解构赋值(destructuring assignment)?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介在JavaScript中&#xff0c;什么是解构赋值&#xff08;destructuring assignment&#xff09;&#xff1f;1. 引言2. 解构赋值的概念3. 数组解构赋值3.1 基本语法3.2 跳过元素3.3 默认值3.4 交换变量值 4. 对象解构赋值4.1 基本语…

“解锁物流新纪元:深入探索‘沂路畅通‘分布式协作平台“

"解锁物流新纪元&#xff1a;深入探索沂路畅通分布式协作平台" 在21世纪的数字浪潮中&#xff0c;物流行业作为连接生产与消费的关键纽带&#xff0c;其重要性不言而喻。然而&#xff0c;随着市场规模的持续扩大和消费者需求的日益多样化&#xff0c;传统物流模式已…

150个pb网站模板(都是成品网站,上传php空间即可使用),建站必备

一网友提供的150个pb网站模板&#xff0c;其实就是成品网站&#xff0c;上传php空间即可使用&#xff0c;属于建站公司或者建站开发人员必备的资源。 一共150个基于pb的成品网站&#xff0c;基本上都可以找到适应你手头客户需要的一款&#xff0c;简单修改一下即可交活收钱了。…

LinuxShell编程1———shell基础命令

文章目录 前言 一、shell基础知识 1、shell概念 2、Shell的功能 接收&#xff1a;用户命令 调用&#xff1a;相应的应用程序 解释并交给&#xff1a;内核去处理 返还&#xff1a;内核处理结果 3、Shell种类&#xff08;了解&#xff09; 3.1、MS-DOS 3.2、Windows的…

图片在线怎样做二维码?制作二维码展示图片的制作方法

图片想要更快捷的分享给其他人展示&#xff0c;除了通过网站平台之外&#xff0c;比如朋友圈、qq空间、微博等方式外&#xff0c;现在很多人也会通过生成二维码的方法&#xff0c;让其他人可以通过扫描二维码查看图片。图片转换二维码的好处有很多&#xff0c;比如可以节省空间…

【C++航海王:追寻罗杰的编程之路】智能指针

目录 1 -> 为什么需要智能指针&#xff1f; 2 -> 内存泄漏 2.1 ->什么是内存泄漏&#xff0c;以及内存泄漏的危害 2.2 -> 内存泄漏分类 2.3 -> 如何避免内存泄漏 3 -> 智能指针的使用及原理 3.1 -> RAII 3.2 -> 智能指针的原理 3.3 -> std…

IDEA创建普通Java项目

环境准备 Java环境 运行javac查看java环境是否安装完成 开发工具Intellij IDEA 下载地址&#xff1a;https://www.jetbrains.com/idea/download/?sectionwindows 创建项目 点击新建项目 填入项目名字&#xff0c;项目路径&#xff0c;选择maven,点击下面的创建 运行项目 …

贪心,CF 1891C - Smilo and Monsters

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1891C - Smilo and Monsters 二、解题报告 1、思路分析 操作二显然很划算的&#xff0c;但是操作2有代价&#xff0c;为了更划算&#xff0c;我们要让操作2的操作次数最少 即&#xff0c;操作二尽可能用在…

Apollo docker-compose

来源 https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 路径 /usr/apollo Sql 自己复制 Vim docker-compose.yml #如果安装过了 记得删除mysql 历史文件 rm -r /var/lib/mysql version: 2.1services:apollo-quick-start:image: nobodyiam/apollo-quick…

MongoDB教程(六):mongoDB复制副本集

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、MongoD…

React 速通笔记

前言 最近刚学完 React&#xff0c;想着把笔记分享给大家&#xff0c;本笔记特别适合从事后端想要学习前端的人。我看视频是黑马最新的 React 视频&#xff08;黑马程序员前端React18入门到实战视频教程&#xff0c;从reacthooks核心基础到企业级项目开发实战&#xff08;B站评…

Windows 2012安装之实现远程连接

新建虚拟机 点击稍后安装操作系统 点击Microsoft Windows(W) 选择Windows Server 2012 设置虚拟机名称、安装位置 选择你的电脑核数 点击编辑虚拟机设置 点击CD/DVD(SATA) 使用ISO映像文件(M) 配置完之后点击确定 然后开启虚拟机 下一步&#xff1a; 点击现在安装&#xff1a…

51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动大屏_硬件SPI4_参考代码(v1.3)

单片机实际不限&#xff0c;这里采用的STC最新、主推的型号&#xff0c;比如STC8H8K64U、STC8051U34K64进行实验测试&#xff0c;您可以换用不同型号。目前测试这两个系列&#xff0c;显示速度均相当不错&#xff0c;软件设计也是极为简单。各篇文章下方均提供源码供参考下载。…

Java 反射用法和8道练习题

目录 一、什么是反射二、反射的核心接口和类三、测试代码 Bean 类和目录结构Person 类代码目录结构 四、获取 Class 对象五、获取构造方法 Constructor 并使用六、获取成员变量 Field 并使用七、获取成员方法 Method 并使用八、练习1. 使用反射获取String类的所有公有方法&…