欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中使用MongoDB數(shù)據(jù)庫實例Demo

 更新時間:2023年12月09日 16:20:40   作者:栗箏i  
MongoDB是由C++語言編寫的,基于分布式文件存儲的數(shù)據(jù)庫,是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產品,是最接近于關系型數(shù)據(jù)庫的NoSQL數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關于Java中使用MongoDB數(shù)據(jù)庫的相關資料,需要的朋友可以參考下

前言

除了通過啟動 mongo 進程進如 Shell 環(huán)境訪問數(shù)據(jù)庫外,MongoDB 還提供了其他基于編程語言的訪問數(shù)據(jù)庫方法。MongoDB 官方提供了 Java 語言的驅動包,利用這些驅動包可使用多種編程方法來連接并操作 MongoDB 數(shù)據(jù)庫。

想要在 Java 程序中使用 MongoDB,需要確保您的電腦上已經安裝了 MongoDB,并搭建好了 Java 的環(huán)境。

本篇內容主要介紹:Java 實現(xiàn)對 MongDB 的操作、Java 操作 MongoDB 數(shù)據(jù)庫 Demo

一、Java 實現(xiàn)對 MongDB 的操作

1、前提條件

除了通過啟動 mongo 進程進如 Shell 環(huán)境訪問數(shù)據(jù)庫外,MongoDB 還提供了其他基于編程語言的訪問數(shù)據(jù)庫方法。MongoDB 官方提供了 Java 語言的驅動包,利用這些驅動包可使用多種編程方法來連接并操作 MongoDB 數(shù)據(jù)庫。

想要在 Java 程序中使用 MongoDB,需要確保您的電腦上已經安裝了 MongoDB,并搭建好了 Java 的環(huán)境。

2、添加依賴

在 Maven 中添加以下依賴來使用操作 MongoDB 數(shù)據(jù)庫:

    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>bson</artifactId>
            <version>3.12.11</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>3.12.11</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-core</artifactId>
            <version>3.12.11</version>
        </dependency>
       
        ...
    </dependencies>

二、Java 操作 MongoDB 數(shù)據(jù)庫 Demo

1、連接數(shù)據(jù)庫

package com.lizhengi.demo;

import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 連接數(shù)據(jù)庫
 * @date 2023-01-04 5:19 下午
 **/
public class ConnectToMongodb {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi

2、創(chuàng)建集合

package com.lizhengi.demo;

import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 創(chuàng)建集合
 * @date 2023-01-04 7:36 下午
 **/
public class CreatingCollection {
    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 創(chuàng)建集合
        database.createCollection("lizhengi_test_3");
        System.out.println("create collection successfully!");
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi

create collection successfully!

3、列出所有集合

package com.lizhengi.demo;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 列出所有集合
 * @date 2023-01-04 7:56 下午
 **/
public class ListOfCollection {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 檢索集合列表
        for (String name : database.listCollectionNames()) {
            System.out.println(name);
        }
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi

lizhengi
lizhengi_test_3
lizhengi_test_2

4、獲取/選擇集合

package com.lizhengi.demo;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 獲取/選擇集合
 * @date 2023-01-04 7:40 下午
 **/
public class SelectingCollection {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 創(chuàng)建集合
        MongoCollection<Document> collection = database.getCollection("lizhengi");
        System.out.println("chose collection : " + collection.getNamespace());
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

5、插入文檔

package com.lizhengi.demo;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 插入文檔
 * @date 2023-01-04 7:45 下午
 **/
public class InsertingDocument {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 檢索集合
        MongoCollection<Document> collection = database.getCollection("lizhengi");
        System.out.println("chose collection : " + collection.getNamespace());

        Document document = new Document("title", "MongoDB")
                .append("description", "database")
                .append("likes", 200)
                .append("url", "https://lizhengi.blog.csdn.net/")
                .append("by", "lizhengi");

        // 將文檔插入到集合中
        collection.insertOne(document);
        System.out.println("Document insert successfully!");
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

Document insert successfully!

6、查詢文檔

package com.lizhengi.demo;

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 查詢文檔
 * @date 2023-01-04 7:52 下午
 **/
public class RetrievingAllDocuments {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 檢索集合
        MongoCollection<Document> collection = database.getCollection("lizhengi");
        System.out.println("chose collection : " + collection.getNamespace());

        // 獲取 iterable 對象
        FindIterable<Document> iterDoc = collection.find();
        int i = 1;
        // 獲取迭代器
        for (Document document : iterDoc) {
            System.out.println(document);
            i++;
        }
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

Document{{_id=63b5676adcb7bc291eb5285d, title=MongoDB, description=database, likes=200, url=https://lizhengi.blog.csdn.net/, by=lizhengi}}
Document{{_id=63b568fa76a0f93c0a6c9f2a, title=MongoDB, description=database, likes=200, url=https://lizhengi.blog.csdn.net/, by=lizhengi2}}

7、更新文檔

package com.lizhengi.demo;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
import org.bson.Document;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 更新文檔
 * @date 2023-01-04 7:59 下午
 **/
public class UpdatingDocuments {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 檢索集合
        MongoCollection<Document> collection = database.getCollection("lizhengi");
        System.out.println("chose collection : " + collection.getNamespace());

        // 更新單個可用 updateOne
        collection.updateMany(Filters.eq("title", "MongoDB"), Updates.set("likes", 150));
        System.out.println("Document update successfully...");
        // 更新后檢索文檔
        // 獲取 iterable 對象
        FindIterable<Document> iterDoc = collection.find();
        int i = 1;
        // 獲取迭代器
        for (Document document : iterDoc) {
            System.out.println(document);
            i++;
        }
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName='lizhengi', source='lizhengi', password=<hidden>, mechanismProperties=<hidden>}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi
Document update successfully...
Document{{_id=63b5676adcb7bc291eb5285d, title=MongoDB, description=database, likes=150, url=https://lizhengi.blog.csdn.net/, by=lizhengi}}
Document{{_id=63b568fa76a0f93c0a6c9f2a, title=MongoDB, description=database, likes=200, url=https://lizhengi.blog.csdn.net/, by=lizhengi2}}

8、刪除文檔

package com.lizhengi.demo;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 刪除文檔
 * @date 2023-01-04 8:03 下午
 **/
public class DeletingDocuments {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 檢索集合
        MongoCollection<Document> collection = database.getCollection("lizhengi");
        System.out.println("chose collection : " + collection.getNamespace());

        // 刪除文檔 刪除多個可用 deleteMany
        collection.deleteOne(Filters.eq("title", "MongoDB"));
        System.out.println("Document delete successfully...");
        // 刪除后檢索文檔
        // 獲取 iterable 對象
        FindIterable<Document> iterDoc = collection.find();
        int i = 1;
        // 獲取迭代器
        for (Document document : iterDoc) {
            System.out.println(document);
            i++;
        }
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi

Document delete successfully…
Document{{_id=63b568fa76a0f93c0a6c9f2a, title=MongoDB, description=database, likes=200, url=https://lizhengi.blog.csdn.net/, by=lizhengi2}}

9、刪除集合

package com.lizhengi.demo;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

/**
 * @author liziheng
 * @version 1.0.0
 * @description 刪除集合
 * @date 2023-01-04 8:06 下午
 **/
public class DropingCollection {

    public static void main(String[] args) {
        // 創(chuàng)建 MongoDB 連接
        MongoClient mongo = new MongoClient("localhost", 27017);

        // 連接到 MongoDB
        MongoCredential credential = MongoCredential.createCredential("lizhengi", "lizhengi", "password".toCharArray());
        System.out.println("Credentials ::" + credential);

        // 訪問數(shù)據(jù)庫
        MongoDatabase database = mongo.getDatabase("lizhengi");
        System.out.println("Connect to database successfully!");
        System.out.println("MongoDatabase info is : " + database.getName());

        // 檢索集合
        MongoCollection<Document> collection = database.getCollection("lizhengi_test_3");
        System.out.println("chose collection : " + collection.getNamespace());
        // 刪除集合
        collection.drop();
        System.out.println("drop collection : " + collection.getNamespace());

        // 檢索集合列表
        for (String name : database.listCollectionNames()) {
            System.out.println(name);
        }
    }
}

運行 Main 函數(shù),返回以下結果:

Credentials ::MongoCredential{mechanism=null, userName=‘lizhengi’, source=‘lizhengi’, password=, mechanismProperties=}
Connect to database successfully!
MongoDatabase info is : lizhengi
chose collection : lizhengi.lizhengi_test_3

drop collection : lizhengi.lizhengi_test_3
lizhengi
lizhengi_test_2

總結 

到此這篇關于Java中使用MongoDB數(shù)據(jù)庫的文章就介紹到這了,更多相關Java使用MongoDB內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringMvc框架的簡介與執(zhí)行流程詳解

    SpringMvc框架的簡介與執(zhí)行流程詳解

    MVC是一種軟件設計典范,用一種業(yè)務邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務邏輯聚集到一個組件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務邏輯,MVC分層有助于管理和架構復雜的應用程序
    2021-06-06
  • 收集的一些常用java正則表達式

    收集的一些常用java正則表達式

    收集的一些常用java正則表達式,需要的朋友可以參考一下
    2013-02-02
  • Java的單例設計模式詳解

    Java的單例設計模式詳解

    今天小編就為大家分享一篇關于Java的單例設計模式詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • SpringBoot設置接口超時的方法小結

    SpringBoot設置接口超時的方法小結

    這篇文章主要介紹了SpringBoot設置接口超時的方法小結,包括配置文件,config配置類及相關示例代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • java利用easyexcel實現(xiàn)導入與導出功能

    java利用easyexcel實現(xiàn)導入與導出功能

    這篇文章主要介紹了java利用easyexcel實現(xiàn)導入與導出功能,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-09-09
  • Java中ArrayList的使用方法簡單介紹

    Java中ArrayList的使用方法簡單介紹

    這篇文章主要為大家簡單介紹了Java中ArrayList的使用方法,針對ArrayList去重問題進行擴展分析,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Java為什么基本數(shù)據(jù)類型不需要進行創(chuàng)建對象?

    Java為什么基本數(shù)據(jù)類型不需要進行創(chuàng)建對象?

    今天小編就為大家分享一篇關于Java為什么基本數(shù)據(jù)類型不需要進行創(chuàng)建對象?,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Java設計模式之靜態(tài)工廠模式詳解

    Java設計模式之靜態(tài)工廠模式詳解

    這篇文章主要介紹了Java設計模式之靜態(tài)工廠模式,簡單說明了靜態(tài)工廠模式的概念、原理、實現(xiàn)與使用方法,需要的朋友可以參考下
    2017-09-09
  • IDEA使用jformdesigner插件做管理系統(tǒng)MVC架構的步驟和實現(xiàn)思路

    IDEA使用jformdesigner插件做管理系統(tǒng)MVC架構的步驟和實現(xiàn)思路

    在?IntelliJ?IDEA?中結合?JFormDesigner?插件,通過?Swing?框架實現(xiàn)一個管理系統(tǒng)的?MVC?架構是一種經典的開發(fā)方式,以下是具體的步驟和實現(xiàn)思路,包含從項目創(chuàng)建到?MVC?架構的核心代碼實現(xiàn),需要的朋友可以參考下
    2024-12-12
  • MyBatis幾種不同類型傳參的方式總結

    MyBatis幾種不同類型傳參的方式總結

    這篇文章主要介紹了MyBatis幾種不同類型傳參的方式總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論