Spring boot中怎么实现Nosql功能
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍Spring boot中怎么实现Nosql功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。步骤1:检查X插件是否安装如果想要mysql支持文档型存储,需要my
千家信息网最后更新 2025年12月02日Spring boot中怎么实现Nosql功能
这篇文章给大家介绍Spring boot中怎么实现Nosql功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
步骤1:检查X插件是否安装
如果想要mysql支持文档型存储,需要mysql预先安装好X插件,登录mysql,然后,运行如下命令,即可:
SHOW plugins;
看到如下效果即可:
看到mysqlx插件是激活状态,表明现在mysql支持文档方式存储,即mysql支持nosql。
步骤2:添加依赖库
implementation "mysql:mysql-connector-java" implementation "com.google.protobuf:protobuf-java"
步骤3:添加Spring配置
-- 创建数据库里面的SCHEMAcreate schema xxxx_db character set utf8;-- 配置用户权限grant all privileges on xxxx_db.* to 'xxxx'@'localhost';
application.properties
mysqlx.datasource.url=mysqlx://localhost:33060/xxxx_db?user=xxxx&password=xxxxxmysqlx.datasource.schema=xxxx_db_sch
注意:这里的密码,如果有特殊的字符,需要使用百分号编码的方式。
Mysqlx.java
package com.xxx.properties;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@NoArgsConstructor@AllArgsConstructorpublic class Mysqlx { private String url; private String schema;}MysqlxConfig.java
package com.xxx.config;import com.xxx.properties.Mysqlx;import com.mysql.cj.xdevapi.Schema;import com.mysql.cj.xdevapi.Session;import com.mysql.cj.xdevapi.SessionFactory;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.DependsOn;@Configurationpublic class MysqlxConfig { @Bean("mysqlx") @ConfigurationProperties(prefix = "mysqlx.datasource") public Mysqlx mysqlx() { return new Mysqlx(); } @Bean("sessionFactory") public SessionFactory sessionFactory() { return new SessionFactory(); }}步骤3:DAO层调用xdevapi
FormLogRepositoryImpl.java
package com.xxx.dao;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import com.xxx.model.FormLog;import com.xxx.model.exception.HandleException;import com.mysql.cj.xdevapi.Schema;import org.springframework.stereotype.Repository;import javax.annotation.Resource;import java.io.IOException;import java.util.List;import java.util.Optional;import java.util.stream.Collectors;@Repositorypublic class FormLogRepositoryImpl implements FormLogRepository { private static final String name = "logs"; @Resource private Mysqlx mysqlx; @Resource private SessionFactory sessionFactory; @Resource private ObjectMapper jacksonObjectMapper; @Override public FormLog save(FormLog formLog) { Session session = sessionFactory.getSession(mysqlx.getUrl()); try { session.createSchema(mysqlx.getSchema(), true) .createCollection(name, true) .add(jacksonObjectMapper.writeValueAsString(formLog)) .executeAsync(); } catch (JsonProcessingException e) { e.printStackTrace(); } finally { if (session != null) { session.commit(); session.close(); } } return formLog; } @Override public Optional find(String id) { Session session = sessionFactory.getSession(mysqlx.getUrl()); try { return sessionFactory.getSession(mysqlx.getUrl()).createSchema(mysqlx.getSchema(), true).createCollection(name, true).find(String.format("$._id='%s'", id)).execute() .fetchAll().stream() .map( dbDoc -> { try { return jacksonObjectMapper.readValue(dbDoc.toString(), FormLog.class); } catch (IOException e) { throw new HandleException( String.format("读取日志对象异常,内容为:\n%s", dbDoc.toFormattedString())); } }) .findFirst(); } finally { if (session != null) { session.commit(); session.close(); } } }} 关于Spring boot中怎么实现Nosql功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
步骤
内容
插件
支持
功能
文档
方式
更多
存储
帮助
配置
不错
特殊
兴趣
命令
字符
密码
对象
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江西服务器机柜厂家供应虚拟主机
锦城图书馆外文图书数据库
机架式服务器家用
阿里云服务器架设网站
数据库中怎样定义触发器
武侯区乐淘网络技术工作室
天堂1数据库宠物
网络安全设备情况怎么填写
软件开发企业符合小微利企业吗
石家庄网络技术工程师
泰格软件服务器连接失败
微信软件开发者有哪些人被抓
百易时代 软件开发 甲级
报送金融数据库有什么影响
计算机网络安全是指什么安全
数据仓库里面有哪些数据库
网络技术的进步
互联网视频黑科技
双路服务器10元左右
不慎删除的数据库能恢复回来吗
互联网科技征文
网络技术支撑管理办法
网络安全法 违反第37条
网络安全实训项目分析报告
上海特色软件开发要多少钱
服务器 光纤卡
云计算是网络安全
中国网络安全手抄报简单漂亮
电脑显示数据库操作失败
宝山区节能软件开发结构设计