zoukankan      html  css  js  c++  java
  • WebFlux系列(十三)MySql应用新增、修改、查询、删除

    #Java#Spring#SpringBoot#MySql#reactor#webflux#数据库#新增#修改#查询#删除#

    Spring WebFlux Mysql 数据库新增、删除、查询、修改

    视频讲解 : https://www.bilibili.com/video/av84439890/

    Employee.java
    package com.example.springwebfluxmysql;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import org.springframework.data.annotation.Id;
    import org.springframework.data.relational.core.mapping.Table;
    
    @Table("employee")
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Employee {
        @Id
        private Long id;
        private String name;
    }
    EmployeeController.java
    package com.example.springwebfluxmysql;
    
    import lombok.AllArgsConstructor;
    import org.springframework.web.bind.annotation.*;
    import reactor.core.publisher.Flux;
    import reactor.core.publisher.Mono;
    
    @RestController
    @AllArgsConstructor
    @RequestMapping("/employee")
    public class EmployeeController {
    
        private final EmployeeRep employeeRep;
    
        @DeleteMapping("/{id}")
        public Mono delete(@PathVariable Long id){
            return employeeRep.deleteById(id);
        }
    
        @GetMapping("/{id}")
        public Mono findById(@PathVariable Long id){
            return employeeRep.findById(id);
        }
        @PutMapping
        public Mono update(@RequestBody Employee employee){
            return employeeRep.save(employee);
        }
    
        @PostMapping
        public Mono save(@RequestBody Employee employee){
            return employeeRep.save(employee);
        }
        @GetMapping
        public Flux<Employee> findAll(){
            return employeeRep.findAll();
        }
    
    }
    EmployeeRep.java
    package com.example.springwebfluxmysql;
    
    import org.springframework.data.repository.reactive.ReactiveCrudRepository;
    
    public interface EmployeeRep extends ReactiveCrudRepository<Employee,Long> {
    }
    MysqlConfigurtion.java
    package com.example.springwebfluxmysql;
    
    import com.github.jasync.r2dbc.mysql.JasyncConnectionFactory;
    import com.github.jasync.sql.db.mysql.pool.MySQLConnectionFactory;
    import com.github.jasync.sql.db.mysql.util.URLParser;
    import io.r2dbc.spi.ConnectionFactory;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.data.r2dbc.config.AbstractR2dbcConfiguration;
    
    import java.nio.charset.StandardCharsets;
    
    @Configuration
    public class MysqlConfigurtion extends AbstractR2dbcConfiguration {
        @Override
        public ConnectionFactory connectionFactory() {
            String url ="mysql://root:123456@127.0.0.1:3306/test";
            return new JasyncConnectionFactory(new MySQLConnectionFactory(URLParser.INSTANCE.parseOrDie(url, StandardCharsets.UTF_8)));
        }
    
    }
    SpringWebfluxMysqlApplication.java
    package com.example.springwebfluxmysql;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories;
    @SpringBootApplication
    @EnableR2dbcRepositories
    public class SpringWebfluxMysqlApplication {
        public static void main(String[] args) {
            SpringApplication.run(SpringWebfluxMysqlApplication.class, args);
        }
    }

    公众号,坚持每天3分钟视频学习

  • 相关阅读:
    day 66 ORM django 简介
    day 65 HTTP协议 Web框架的原理 服务器程序和应用程序
    jQuery的事件绑定和解绑 事件委托 轮播实现 jQuery的ajax jQuery补充
    background 超链接导航栏案例 定位
    继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素
    属性选择器 伪类选择器 伪元素选择器 浮动
    css的导入方式 基础选择器 高级选择器
    03-body标签中相关标签
    Java使用内存映射实现大文件的上传
    正则表达式
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12302648.html
Copyright © 2011-2022 走看看