SpringBoot整合MongoDB数据库并实现基础CRUD
MongoDB安装教程:MongoDB数据库安装以及将MongoDB设置为系统服务
MongoDB简介
- MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨为WEB应用提供可扩展的高性能数据存储解决方案。
- 它是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库中功能最丰富、最像关系型数据库的。
- 在高负载的情况下,添加更多的节点,可以保证服务器的性能。
- MongoDB的设计目标是极简、灵活、作为web栈一部分。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。如下图:
MongoDB的三大概念
- 数据库(database):数据库是一个仓库,在仓库中可以存放集合。
- 集合(collection):集合类似于数组,在集合中可以存放文档。
- 文档(document):文档数据库中的最小单位,我们存储和操作的内容都是文档。
注:在MongoDB中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或者数据库不存在会自动创建数据库和集合。
SpringBoot整合MongoDB
1. 引入jar包
<dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.0.4</version>
</dependency>
2. 配置yml文件
本地的MongoDB默认是没有密码的,可以直接连接。
有密码的连接格式:uri=mongodb://username:password@localhost:27017/test
配置多个数据库用逗号分隔:uri=mongodb://192.168.1.1:20000,192.168.1.2:20000,192.168.252.12:20000/test
spring:data:mongodb:database: testhost: 127.0.0.1port: 27017username:password:
3. 创建实体类
package com.mongodb.Entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.mapping.Document;import java.util.List;/*** @Author Big.Hu*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document(collection = "user")
public class User {private String id;private String name;private Integer age;private String sex;private String phone;private String email;private List<String> like;}
4. 实现CRUD
package com.mongodb.controller;import com.mongodb.Entity.User;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.data.mongodb.core.query.Query;import java.util.Arrays;
import java.util.List;/*** @Author Big.Hu*/
@RestController
@RequestMapping("mongo")
public class MongoDBController {@Autowiredprivate MongoTemplate mongoTemplate;// 文档名private static final String collectionName = "user";/*** 查询*/@GetMapping("/queryUser")public void queryUser() {Query query = Query.query(Criteria.where("name").is("阿俊"));List<User> users = mongoTemplate.find(query, User.class);System.err.println(users);}/*** 添加*/@GetMapping("/insertOneUser")public void insertOneUser() {String[] strings = {"吃饭", "睡觉"};User user = new User();user.setName("大佬");user.setAge(80);user.setSex("女");user.setEmail("123456789@qq.com");user.setPhone("987654321");user.setLike(Arrays.asList(strings));User insert = mongoTemplate.insert(user);System.err.println(insert);}/*** 修改*/@GetMapping("/updateUser")public void updateUser() {Query query = Query.query(Criteria.where("name").is("大佬"));Update update = new Update();update.set("name", "Jack.Hu");update.set("age", 25);update.set("sex", "man");UpdateResult updateResult = mongoTemplate.updateFirst(query, update, collectionName);System.err.println(updateResult);}/*** 删除*/@GetMapping("/deleteUser")public void deleteUser() {Query query = Query.query(Criteria.where("name").is("大佬"));DeleteResult remove = mongoTemplate.remove(query, collectionName);System.err.println(remove);}
}
SpringBoot整合MongoDB数据库并实现基础CRUD相关推荐
- SpringBoot整合mongodb数据库
添加 mongodb启动依赖 <dependency><groupId>org.springframework.boot</groupId><artifact ...
- 用SpringBoot整合ES数据库基础
一.SpringBoot整合ES数据库 1.配置原生的依赖. <properties><java.version>1.8</java.version><!-- ...
- SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询
SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询 由于在实际开发项目中,突然涉及到了需要Mongodb 进行连表操作的业务,所以我在私下进行了一波学习. 服务器 ...
- 直接裂开!京东二面被问SpringBoot整合MongoDB,我不会啊
开始进入正题 一.技术介绍 SpringBoot整合MongoDB的实现步骤 一.技术介绍 1.MongoDB是什么? 二.使用步骤 1.MongoDB是什么? MongoDB(来自于英文单词&quo ...
- SpringBoot整合JDBC数据库操作第二弹-配置基本数据库连接源
SpringBoot整合JDBC数据库操作第二弹-配置基本数据库连接源 上篇文章我们讲到了如何配置整合JDBC的基础环境,这篇文章我们讲解一下如何去配置服务的DataSource数据库数据源,方便其对 ...
- SpringBoot整合MongoDB 及 基本使用
目录 1.MongoDB基本介绍 2.MongoDB的特点 3.MongoDB的体系结构 4.MongoDB的数据类型 5.SpringBoot整合MongoDB ** 1.导入依赖 2.启动Mong ...
- 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能
MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...
- Spring-Boot 整合MongoDB
Spring-Boot 整合MongoDB 一.引入MongoDB依赖 <dependency><groupId>org.springframework.boot</gr ...
- springboot 整合 mongodb Criteria类 查询条件大全
关于springboot整合mongodb,可查看博文 https://blog.csdn.net/qq_41712271/article/details/116062611 import cn.hu ...
最新文章
- 开机故障中的MBR引导故障的排查
- 数据结构与算法 | 循环队列
- Adobe illustrator 魔棒工具批量操作 - 连载 7
- 前端居中模板(常用HTML模板)
- js中元素(图片)切换和隐藏显示问题
- Java IO输入输出流 字符数组流 ByteArrayOutputStream/ByteArrayInputStream
- 在Linux上安装centos 7镜像详细步骤
- 正则验证邮箱格式是不是正确
- Revel 企业级 Go 应用开发框架
- (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
- 有什么拍照识别植物的软件?建议收藏这几个软件
- [机缘参悟-50]:鬼谷子-第十二符言篇-当好领导者的艺术:守其位,观四方,洞危险,广言路,虚谏言,定规则,明赏罚,符名实,得民心。
- Windows照片查看器无法显示此照片,因为计算机上的可用内存可能不足。
- 2022 第十四届蓝桥杯模拟赛第一期(题解与标程)
- ofo发布“小黄蜂”,想试试一贴即开的新体验吗
- 【IT职场】阿里巴巴之马云神话
- 【计算机网络学习笔记】(汇总目录)
- 【C++】【数据结构】顺序栈的基本操作(初始化、入栈、出栈、取栈顶元素、遍历输出栈)的算法实现附全代码
- idea中的marketplace搜不到插件解决方法
- 【转载】wpf绑定全局静态变量并且实现变更通知(mvvm)