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

2024-05-12 07:23:25 浏览数 (2)

非关系型数据库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腾讯技术创作特训营最新征文,快来和我瓜分大奖!

0 人点赞