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

非关系型数据库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/?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(&#34;your_database_name&#34;);

        // 5. 选择目标集合
        MongoCollection&lt;Document&gt; collection = database.getCollection(&#34;your_collection_name&#34;);

        // 6. 执行操作

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

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

}

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