当前位置: 首页 > news >正文

Springboot WebFlux项目结合mongodb进行crud

第一步:创建项目

第二步:给mongodb插入数据

第三步:创建实体类

package org.cyl.test02.entity;// Task.java
import lombok.Data;@Data
public class Task {private String id;private String description;
}

第四步:创建Repository

引入依赖

 <!-- Spring Data MongoDB --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb-reactive</artifactId></dependency>

创建TaskRepository接口

package org.cyl.test02.repository;// TaskRepository.java
import org.cyl.test02.entity.Task;
import org.springframework.data.repository.reactive.ReactiveCrudRepository;public interface TaskRepository extends ReactiveCrudRepository<Task, String> {}

第五步:创建Controller

package org.cyl.test02.controller;// TaskController.java
import org.cyl.test02.entity.Task;
import org.cyl.test02.repository.TaskRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;@RestController
@RequestMapping("/tasks")
public class TaskController {@Autowiredprivate TaskRepository taskRepository;@GetMappingpublic Flux<Task> getAllTasks() {return taskRepository.findAll();}@GetMapping("/{id}")public Mono<Task> getTaskById(@PathVariable String id) {return taskRepository.findById(id);}@PostMappingpublic Mono<Task> createTask(@RequestBody Task task) {return taskRepository.save(task);}@PutMapping("/{id}")public Mono<Task> updateTask(@PathVariable String id, @RequestBody Task task) {task.setId(id);return taskRepository.save(task);}@DeleteMapping("/{id}")public Mono<Void> deleteTask(@PathVariable String id) {return taskRepository.deleteById(id);}
}

第六步:配置yml文件

spring:data:mongodb:uri: mongodb://localhost:27017/student

运行结果

http://www.lryc.cn/news/279906.html

相关文章:

  • 超维空间M1无人机使用说明书——61、ROS无人机物体识别与精准投放
  • Flask 小程序菜品搜索
  • Excel·VBA按指定顺序排序函数
  • 数据结构学习笔记——查找算法中的树形查找(红黑树)
  • Debezium发布历史66
  • Redis系列之使用Lua脚本
  • Wargames与bash知识16
  • 关于运维·关于数据库面试题
  • MySQL题目示例
  • HTML基本语法
  • 二分图最大匹配——匈牙利算法详解
  • 【AI视野·今日Robot 机器人论文速览 第七十一期】Fri, 5 Jan 2024
  • xtu oj 1334 Least Common Multiple
  • 【论文笔记】End-to-End Diffusion Latent Optimization Improves Classifier Guidance
  • 【HarmonyOS4.0】第四篇-ArkUI基础实战
  • 每日一题——LeetCode1128.等价多米诺骨牌对的数量
  • 关联规则分析(Apriori算法2
  • 数据仓库(2)-认识数仓
  • C#编程-实现委托
  • Ubuntu18.04 Qt 实现MQTT
  • 【软件测试】学习笔记-不同视角的软件性能与性能指标
  • Spring MVC组件
  • vue文件在<template>中使用多个<el-main>报错(已解决)
  • 【PlantUML】- 时序图
  • openai自定义API操作 API (openai.custom):OpenAI API 实现电商平台的智能库存管理
  • 宠物服务新篇章:预约小程序带来的变革
  • 谷歌最新医学领域LLM大模型:AMIE
  • 路由器02_静态路由DHCP
  • Mysql 递归查询所有子节点,hutool树形结构封装
  • 【代码随想录04】24. 两两交换链表中的节点 19. 删除链表的倒数第 N 个结点 面试题 02.07. 链表相交 142. 环形链表 II