Spring boot中怎么实现Nosql功能
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍Spring boot中怎么实现Nosql功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。步骤1:检查X插件是否安装如果想要mysql支持文档型存储,需要my
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
没上市的科技互联网公司
科技制造互联网公司
青岛互联网科技公司
万易互联网科技有限公司
九亚互联网科技
互联网金融科技创新
互联网金融监管科技
字节跳动和互联网科技
科技与互联网哪个更好
现代互联网科技股
互联网和黑科技的看法
健康食品互联网创新科技园项目
特约风豹互联网科技为什么扣费
徐州市互联网科技有限公司
工业互联网展湾科技股份有限公司
科技互联网海报
昆明中奇联合互联网科技
萌小萌互联网科技河南有限公司
福仕德教育科技互联网
银川新华互联网科技学校招聘
手磨咖啡
互联网科技的发展
中国科技互联网公司收入
宁波青枫互联网科技有限公司
剑昆互联网络科技有限公司临桂
茂名市互联网科技产业园
港股科技和互联网
世界互联网科技公司市值排名
半导体是互联网高科技吗
信承诺互联网科技有限公司