栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

R2DBC在spring boot 2.3.7版本下多主键CRUD的方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

R2DBC在spring boot 2.3.7版本下多主键CRUD的方式

很久没写博客了,因为又被拉去带搞spring了!

本文内容基于spring boot 2.3.7.RELEASE。

R2DBC接入在1月份的文章有讲,但是注意版本差异,后面的版本R2DBC从整个包都发生了迁移。选择2.3.7是因为这是能比较好适配nacos的最高版本的spring boot。在spring cloud alibaba下,对新版本的兼容是非常滞后的。题外话!

R2DBC ReactiveCrudRepository 并不支持多主键(至少在2.3.7我没有找到支持的方式)。第一个,你就找不到合适的class去放在ReactiveCrudRepository的第二个泛型。第二,即使你使用r2dbcTemplate,也会直接报错。
剩下的办法就只能走万能的sql语句了,具体,官网有说明,这里简单示例一下:

//数据库为postgresql
r2dbcTemplate.databaseClient.execute(
                        "INSERT INTO data (id,data,type) VALUES (:id,:data,:type)"
                    )
                        .bind("id",unifiedRequest.unified.unifiedId)
                        .bind("data",unifiedRequest.unified.dataId)
                        .bind("type",unifiedRequest.unified.unifiedType)
                        .asType()
                        .fetch()
                        .first()

fetch是一个提交动作,前面的语句可以看成一个完成的sql语句,bind是将参数绑定上去,asType是返回值可以返回响应式流。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434321.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号