前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础教程(21)-Java连接MongoDB

Java基础教程(21)-Java连接MongoDB

原创
作者头像
JQ实验室
发布2024-05-12 07:23:25
1680
发布2024-05-12 07:23:25
举报
文章被收录于专栏:java基础教程java基础教程
非关系型数据库MongoDB介绍:

非关系型数据库(NoSQL数据库)是指那些不使用传统关系模型(如表格、行和列)来组织和存储数据的数据库系统。与关系型数据库 MySQL相比,非关系型数据库采用了不同的数据模型和架构设计; MongoDB 是一款面向文档(document-oriented)的、开源的、高性能的、分布式的、模式自由(schema-free)的 NoSQL 数据库管理系统。

使用Java连接mongodb并交互

Java应用程序与MongoDB交互通常使用官方提供的MongoDB Java驱动,该驱动提供了与JDBC类似的API; 主要组件包括MongoClient、MongoDatabase、MongoCollection、Document等。

编码实现使用MongoDB Java驱动进行连接

1、在官方网站下载驱动依赖包 2、添加MongoDB Java驱动依赖到项目中 3、创建MongoClient实例,连接到MongoDB服务器 4、选择要操作的MongoDatabase和MongoCollection

伪代码如下:

代码语言:java
复制
import com.mongodb.ConnectionString;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;

public class MongoDBConnection {

    public static void main(String[] args) {
        // 1. 定义MongoDB连接字符串
        String connectionString = "mongodb://username:password@localhost:27017/?authSource=admin&ssl=false";

        // 2. 创建MongoClient实例
        MongoClient mongoClient = MongoClients.create(connectionString);

        // 3. 连接到指定数据库
        MongoDatabase database = mongoClient.getDatabase("DatabaseName");

        // 4. 执行操作(例如,获取集合、查询数据等)
        MongoCollection<Document> collection = database.getCollection("CollectionName");
        // ... 进行数据库操作 ...

        // 5. 在应用结束时关闭连接
        mongoClient.close();
    }
}

编码实现数据操作

5、使用MongoCollection的insertOne、updateOne、deleteOne等方法执行数据操作 6、使用find、aggregate等方法执行查询,并处理返回的Cursor或List<Document>

伪代码如下:

代码语言:java
复制
import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

public class MongoDBConnection {
    public static void main(String[] args) {
        // 1. 定义MongoDB连接字符串
        String connectionString = "mongodb://username:password@localhost:27017/?authSource=admin&retryWrites=true&w=majority";

        // 2. 创建MongoClientSettings对象
        MongoClientSettings settings = MongoClientSettings.builder()
                .applyConnectionString(new ConnectionString(connectionString))
                .build();

        // 3. 创建MongoClient实例
        try (MongoClient mongoClient = MongoClients.create(settings)) {
            // 4. 连接到指定数据库
            MongoDatabase database = mongoClient.getDatabase("your_database_name");

            // 5. 选择目标集合
            MongoCollection<Document> collection = database.getCollection("your_collection_name");

            // 6. 执行操作

            // 插入一个文档
            Document doc = new Document("title", "Example Document")
                    .append("content", "This is an example document.");
            collection.insertOne(doc);

            // 查询文档
            FindIterable<Document> iterable = collection.find();
            for (Document foundDoc : iterable) {
                System.out.println(foundDoc.toJson());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 非关系型数据库MongoDB介绍:
  • 使用Java连接mongodb并交互
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档