概述MongoDB 是一个基于分布式文件存储的数据库,由C++语言编写。旨在为Web 应用提供可拓展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 MongoDB 无 Schema 限制,灵活度很高。 数据格式是BSON,BSON是一种类似JSON 的二进制形式的存储格式,简称 Binary Json 。它和JSON 一样,支持内嵌的文档对象和数组对象。 MongoDB 支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,还支持地数据建立索引。 跟关系型数据库对比:
下载安装官网下载地址https://fastdl./windows/mongodb-windows-x86_64-5.0.3-signed.msi 安装一路下一步即可。
db.version() 5.0.3
只会显示有数据的数据库 > show dbs admin 0.000GB config 0.000GB local 0.000GB
有该数据库会使用,没有该数据库会创建 use databaseName 集成Springbooot添加依赖<?xml version="1.0" encoding="UTF-8"?>4.0.0org.springframework.bootspring-boot-starter-parent2.5.5com.examplemongodb_demo_010.0.1-SNAPSHOTmongodb_demo_01mongodb_demo_011.8org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-data-mongodborg.projectlomboklomboktrueorg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-maven-pluginorg.projectlomboklombok 添加配置
#mongoDB 相关配置 spring.data.mongodb.database=test spring.data.mongodb.host=localhost spring.data.mongodb.port=27017 创建实体类
package com.example.mongodb_demo_01.pojo; import lombok.Builder; import lombok.Data; @Builder @Data public class Student { /** * 姓名 */ private String name; /** * 年龄 */ private Integer age; /** * 年级 */ private String grade; /** * 班级 */ private String classroom; } 创建测试类
MongoTemplate用法参考:https://docs./spring-data/data-mongo/docs/current/api/org/springframework/data/mongodb/core/MongoTemplate.html package com.example.mongodb_demo_01; import com.example.mongodb_demo_01.pojo.Student; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import java.util.List; @SpringBootTest public class MongoDBDemo01Test { @Autowired private MongoTemplate mongoTemplate; @Test public void insert(){ Student student = Student.builder().name("张三").age(10).grade("一年级").classroom("1班").build(); mongoTemplate.insert(student); } @Test public void update(){ Query query = new Query(); query.addCriteria(Criteria.where("grade").is("一年级")); mongoTemplate.updateFirst(query, Update.update("age",11),Student.class); } @Test public void delete(){ Query query = new Query(); query.addCriteria(Criteria.where("age").is(11)); mongoTemplate.remove(query,Student.class); } @Test public void find(){ Query query = new Query(); query.addCriteria(Criteria.where("grade").is("一年级")); Liststudents = mongoTemplate.find(query, Student.class); students.forEach(student -> { System.out.println(student.toString()); }); } } 示例代码地址
https:///liuyingke/spring-boot-projects.git
文章来源:https://www.cnblogs.com/liuyingke/p/15339481.html |
|