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

java 非srping 使用r2dbc操作mysql 增删改查代码

要在Java中使用R2DBC操作MySQL,首先需要添加相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖:

<dependency><groupId>dev.miku</groupId><artifactId>r2dbc-mysql</artifactId><version>0.8.2.RELEASE</version>
</dependency>

接下来,可以创建一个R2DBC连接池,并使用它来执行数据库操作。以下是一个简单的示例:

import io.r2dbc.spi.ConnectionFactory;
import io.r2dbc.spi.ConnectionFactoryOptions;
import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.Result;
import io.r2dbc.spi.Row;
import io.r2dbc.spi.RowMetadata;
import reactor.core.publisher.Flux;public class R2DBCExample {public static void main(String[] args) {// 创建连接工厂ConnectionFactory connectionFactory = ConnectionFactories.get("r2dbc:mysql://localhost:3306/testdb?user=root&password=123456");// 创建连接池ConnectionFactoryOptions options = ConnectionFactoryOptions.builder().initialSize(5).maxSize(10).build();ConnectionFactory pooledConnectionFactory = ConnectionFactories.get(connectionFactory, options);// 插入数据pooledConnectionFactory.create().flatMapMany(connection -> connection.createStatement("INSERT INTO users (name, age) VALUES ('张三', 25)").execute()).flatMap(result -> result.getRowsUpdated()).subscribe(System.out::println);// 查询数据pooledConnectionFactory.create().flatMapMany(connection -> connection.createStatement("SELECT * FROM users").execute()).flatMap(result -> result.map((row, metadata) -> row.get("name", String.class))).subscribe(System.out::println);// 更新数据pooledConnectionFactory.create().flatMapMany(connection -> connection.createStatement("UPDATE users SET age = 26 WHERE name = '张三'").execute()).flatMap(result -> result.getRowsUpdated()).subscribe(System.out::println);// 删除数据pooledConnectionFactory.create().flatMapMany(connection -> connection.createStatement("DELETE FROM users WHERE name = '张三'").execute()).flatMap(result -> result.getRowsUpdated()).subscribe(System.out::println);}
}

在这个示例中,我们首先创建了一个MySQL数据库的连接工厂,然后创建了一个连接池。接着,我们使用连接池执行了插入、查询、更新和删除操作。

相关文章:

java 非srping 使用r2dbc操作mysql 增删改查代码

要在Java中使用R2DBC操作MySQL&#xff0c;首先需要添加相关依赖。在Maven项目中&#xff0c;可以在pom.xml文件中添加以下依赖&#xff1a; <dependency><groupId>dev.miku</groupId><artifactId>r2dbc-mysql</artifactId><version>0.8.…...

假冒国企现形记:股权变更视角下的甄别分析

启信慧眼-启信宝企业版 假冒国企公告2024-06-07&#xff0c;中粮集团有限公司官网发布《关于冒名中粮企业名单公告》。公告显示&#xff0c;”有不法分子通过伪造相关材料等方式&#xff0c;以我集团子公司名义开展业务&#xff0c;进行虚假宣传。经核实&#xff0c;上述公司假…...

Django 使用Apscheduler执行定时任务

Apscheduler 介绍 核心组件&#xff1a; 调度器、作业存储、执行器、触发器 调度器 BlockingScheduler 阻塞的调度器&#xff0c;适用于脚本 BackgroundScheduler 后台调度器&#xff0c;适用于非阻塞的应用如Web应用 AsyncIOScheduler 适用于 asyncio 的调度器 GeventSchedu…...

Shopee API接口:获取搜索栏生成的商品结果列表

一、引言 此接口可以高效获取搜索栏生成的商品结果列表。本文将详细介绍这一核心功能&#xff0c;并探讨其在实际应用中的价值。 二、核心功能介绍——获取搜索栏生成的商品结果列表 请求API及返回示例 http://api.xxxx.com/sp/ll/search/item?keywordiphone&page1&am…...

选择门店收银系统要考虑哪些方面?美业系统Java源码分享私

开店前的一个重要事件就是选择门店收银软件/系统&#xff0c;尤其是针对美容、医美等美业门店&#xff0c;一个优秀专业的系统十分重要&#xff0c;它必须贴合门店的经营需求&#xff0c;提供更全面、便捷、高效的管理功能&#xff0c;帮助提升门店的服务质量和经营效益。 以下…...

智慧养老的养老方式及其技术实现与趋势

智慧养老是一种借助现代信息技术手段&#xff0c;为老年人提供更高效、便捷、个性化服务的养老模式。以下是一些常见的智慧养老方式&#xff1a; 1. 远程健康监测系统 通过智能穿戴设备&#xff0c;如手环、手表等&#xff0c;实时收集老年人的生理数据&#xff0c;如心率、血…...

思维导图之计算机网络整体框架

高清自行访问&#xff1a;计算机网络整体框架 (yuque.com)...

P7771 【模板】欧拉路径

网址如下&#xff1a; P7771 【模板】欧拉路径 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 忘掉了输出欧拉回路的方法&#xff0c;搞了我好久 关于欧拉回路的知识可以看我之前的博客&#xff1a; 一点关于欧拉回路的总结-CSDN博客 代码如下&#xff1a; #include<q…...

卷积神经网络(CNN)理解

1、引言&#xff08;卷积概念&#xff09; 在介绍CNN中卷积概念之前&#xff0c;先介绍一个数字图像中“边缘检测edge detection”案例&#xff0c;以加深对卷积的认识。图中为大小8X8的灰度图片&#xff0c;图片中数值表示该像素的灰度值。像素值越大&#xff0c;颜色越亮&…...

Databend 开源周报第 149 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持递归公共表…...

Hue Hadoop 图形化用户界面 BYD

软件简介 Hue 是运营和开发 Hadoop 应用的图形化用户界面。Hue 程序被整合到一个类似桌面的环境&#xff0c;以 web 程序的形式发布&#xff0c;对于单独的用户来说不需要额外的安装。...

【经验分享】RT600 serial boot mode测试

【经验分享】RT600 serial boot mode测试 一&#xff0c; 文档描述二&#xff0c; Serial boot mode测试2.1 evkmimxrt685_gpio_led_output 工程测试2.2 evkmimxrt685_dsp_hello_world_usart_cm33工程测试 一&#xff0c; 文档描述 RT600的启动模式共支持4种&#xff1a; 1&am…...

七种不同类型测宽仪技术参数 看看哪种能用于您的产线?

在线测宽仪种类众多&#xff0c;原理不同&#xff0c;产品不同&#xff0c;型号不同&#xff0c;其技术参数也各不相同。不同的测量范围与测量精度&#xff0c;适用于不同规格的板材&#xff0c;看看您的板材能适用于哪种范围。 1、单测头平行光测宽仪 点光源发射的光经过发射…...

【GO】rotatelogs库和sirupsen/logrus库实现日志功能的实践用例

“github.com/sirupsen/logrus” 是一个 Go 语言的日志库&#xff0c;它提供了一种简单、灵活的方式来记录日志。该库的主要特点包括&#xff1a; 支持多种日志输出目标&#xff0c;如控制台、文件等。 支持日志轮转&#xff0c;可以按照时间或文件大小进行轮转。 支持日志格式…...

Arc2Face - 一张图生成逼真的多风格人脸,本地一键整合包下载

Arc2Face是用于人脸的基础模型训练&#xff0c;可批量生成超高质量主题的AI人脸艺术风格照&#xff0c;完美复制人脸。只需一张照片&#xff0c;几秒钟&#xff0c;即可批量生成超高质量主题的AI人脸艺术风格照&#xff0c;完美复制人脸。 Arc2Face 是一个创新的开源项目&…...

swiper 幻灯片

index.html <!DOCTYPE html> <html lang"en"> <head> <meta charset"utf-8"> <title>swiper全屏响应式幻灯片代码</title> <meta name"viewport" content"widthdevice-width, initial-scale1, min…...

Ubuntu 使用Vscode的一些技巧 ROS

Ubuntu VSCode的一些设置&#xff08;ROS&#xff09; 导入工作空间 推荐只导入工作空间下的src目录 如果将整个工作空间导入VSCode&#xff0c;那么这个src就变成了次级目录&#xff0c;容易在写程序的时候把本应该添加到具体工程src目录里的代码文件给误添加到这个catkin_w…...

JS中的三种事件模型

JavaScript 中的事件模型主要有三种&#xff1a; 传统事件模型&#xff08;DOM Level 0&#xff09;标准事件模型&#xff08;DOM Level 2&#xff09;IE 事件模型&#xff08;非标准&#xff0c;仅限于旧版本的 Internet Explorer&#xff09; 下面分别介绍这三种事件模型&…...

南京邮电大学计算机网络实验二(网络路由器配置RIP协议)

文章目录 一、 实验目的和要求二、 实验环境(实验设备)三、 实验步骤四、实验小结&#xff08;包括问题和解决方法、心得体会、意见与建议等&#xff09;五、报告资源 一、 实验目的和要求 掌握思科路由器的运行过程&#xff0c;掌握思科路由器的硬件连线与接口&#xff0c;掌…...

仓颉语言的编译和构建

一、cjc 使用 cjc是仓颉编程语言的编译命令&#xff0c;其提供了丰富的功能及对应的编译选项&#xff0c;本章将对基本使用方法进行介绍。 cjc-frontend &#xff08;仓颉前端编译器&#xff09;会随 cjc 一起通过 Cangjie SDK 提供&#xff0c;cjc-frontend 能够将仓颉源码编…...

UTF8-CPP跨版本兼容性指南:从C++98到C++20的完整支持

UTF8-CPP跨版本兼容性指南&#xff1a;从C98到C20的完整支持 【免费下载链接】utfcpp UTF-8 with C in a Portable Way 项目地址: https://gitcode.com/gh_mirrors/ut/utfcpp UTF8-CPP是一个轻量级的C库&#xff0c;专注于以可移植的方式提供UTF-8编码和解码功能&#x…...

基于BLE与NeoPixel的智能眼镜控制:在ATtiny85上实现无线光效交互

1. 项目概述与核心价值几年前&#xff0c;当我第一次把玩Adafruit的NeoPixel灯环时&#xff0c;就被其绚丽的色彩和简单的控制方式所吸引。后来&#xff0c;一个很自然的想法冒了出来&#xff1a;能不能把这些灯珠集成到一副眼镜上&#xff0c;并且用手机来无线控制它&#xff…...

GBase 8c 在过程里记流水时要小心自治事务边界

GBase 8c 在过程里记流水时要小心自治事务边界 我最近看 GBase 8c 自治事务资料时&#xff0c;觉得它特别适合拿来讨论一个开发现场经常遇到的问题&#xff1a;业务过程失败了&#xff0c;排障流水也跟着回滚了。等真正去查问题时&#xff0c;只剩应用日志里几行模糊报错&#…...

中文文本人性化:从NLP原理到cn-humanizer工程实践

1. 项目概述&#xff1a;为什么我们需要一个中文“人性化”工具&#xff1f;在数字时代&#xff0c;我们与机器生成的文本打交道的机会越来越多。无论是AI助手生成的回复、自动化脚本输出的日志&#xff0c;还是数据清洗后得到的报告&#xff0c;这些文本常常带着一种难以言喻的…...

从DSB到SSB:用MATLAB图解通信中的‘频谱减肥’术(单边带调制原理可视化)

从DSB到SSB&#xff1a;用MATLAB图解通信中的‘频谱减肥’术 想象一下&#xff0c;你正在参加一场热闹的派对&#xff0c;房间里挤满了人&#xff0c;大家都在高声交谈。突然&#xff0c;主持人宣布要节省空间&#xff0c;要求所有人只能站在房间的左侧或右侧——这就是单边带调…...

RK3568 Debian系统Docker安装与ARM64容器化部署实战指南

1. 项目概述与核心价值最近在折腾一块基于瑞芯微RK3568的开发板&#xff0c;想在上面跑一些服务&#xff0c;自然而然地就想到了Docker。毕竟&#xff0c;Docker带来的环境隔离和便捷部署&#xff0c;对于嵌入式开发和边缘计算场景来说&#xff0c;简直是“神器”。但当我真正动…...

从几何视角解析单层感知机:超平面、分类与学习算法

1. 单层感知机&#xff1a;从几何空间看分类本质 第一次接触单层感知机时&#xff0c;很多人会被各种数学符号绕晕。其实换个角度看&#xff0c;它就是个拿着尺子在高维空间里画分界线的工具。想象你面前有一堆红蓝两色的气球&#xff0c;单层感知机要做的&#xff0c;就是找到…...

AI驱动的代码冻结守护者:开源项目xcf如何提升软件发布质量

1. 项目概述&#xff1a;当AI遇上代码冻结&#xff0c;一个开源协作范式的诞生最近在开源社区里&#xff0c;一个名为CodeFreezeAI/xcf的项目引起了我的注意。乍一看这个标题&#xff0c;可能会让人有些困惑&#xff1a;“CodeFreeze” 通常指的是软件开发流程中的“代码冻结”…...

Rust数据库实战:Rusqlite SQLite深度解析

Rust数据库实战&#xff1a;Rusqlite SQLite深度解析 引言 在Rust开发中&#xff0c;SQLite是构建轻量级数据库应用的核心技术。作为一名从Python转向Rust的后端开发者&#xff0c;我深刻体会到Rusqlite在SQLite操作方面的优势。Rusqlite是Rust生态中最流行的SQLite客户端库&am…...

Go语言内存管理与性能优化

Go语言内存管理与性能优化 一、内存管理基础 Go语言采用自动内存管理机制&#xff0c;开发者无需手动管理内存分配和释放。理解Go的内存管理机制对于编写高性能代码至关重要。 Go内存分配器 Go使用tcmalloc&#xff08;Thread-Caching Malloc&#xff09;作为底层内存分配器&am…...