springboot 整合 MongoDB

本贴最后更新于 1589 天前,其中的信息可能已经时过境迁

什么是 MongoDB?

MongoDB 是为现代应用程序开发人员和云时代构建的基于文档的通用分布式数据库

MongoDB Windows 下的安装

网上安装教程一大堆,不过官方网站的教程最详细:官网 windows 下安装 MongoDB

安装完毕之后如果不出错的话,就可以在计算机的服务里面找到一个:MongoDB Server 的服务。

MongoDB 数据库

成功安装之后,可以通过安装目录 bin 下的 mongo.exe 连接上 MongoDB 数据库。输入 help 可以查看相关帮助信息。
image.png

常用操作:
show dbs 查看全部数据库

use dbname 切换到指定名称数据库,如果没有就创建

show collections 获取指定数据库下的所有集合

db.createCollection("user") 在当前数据库下创建一个名为 user 的集合

db.user.insert({"name":"hjljy","age":18}) 向 user 集合里面插入一条数据

db.user.find() 查看 user 集合全部数据

其他操作见 help 或者官方网站说明:https://docs.mongodb.com/manual/tutorial/insert-documents/

image.png

springboot 整合 MongoDB

第一步 引入 JAR

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

第二步 设置 mongodb 配置

	#按照官网安装的mongodb是默认没有开启用户认证的,是不需要任何账号密码的
	spring.data.mongodb.url= mongodb://127.0.0.1:27017/test 
	# 开启用户认证之后设置用户密码
	#spring.data.mongodb.url=mongodb://username:password@127.0.0.1:27017/test 

第三步 编写测试类,查看效果

编写一个简单 user 类

public class User {
    private String name;
    private String address;
	// 省略 getter setter ....
}

直接在测试类中写测试

@SpringBootTest
class MongodbApplicationTests {

    @Autowired
    MongoTemplate mongoTemplate;
    @Test
    void contextLoads() {
        User user = new User();
        user.setName("hjljy");
        user.setAddress("chengdu");

        User user2 = new User();
        user2.setName("xxx");
        user2.setAddress("chengdu");
        //向t1集合里面插入一条数据
        mongoTemplate.insert(user,"t2");

        mongoTemplate.insert(user2,"t2");

        List<User> all = mongoTemplate.findAll(User.class, "t2");

        all.stream().forEach(use -> {
            System.out.println(use.toString());
        });
    }
}

结果如下:

name:hjljy,address:chengdu
name:xxx,address:chengdu

简单总结

MongoTemplate 这个类基本包含了所有和 mongodb 相关的操作,只需要在使用时继承这个类就可以了。
如果想直接存一个 string 字符串到 mongodb 里面的话,必须时 json 字符串格式。

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    941 引用 • 1458 回帖 • 151 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...