亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

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

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

一、Java 實(shí)現(xiàn)對(duì) MongDB 的操作

1、前提條件

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

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

2、添加依賴

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

    <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ù)庫(kù) Demo

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

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ù)庫(kù)
 * @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);

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

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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!");
    }
}

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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);
        }
    }
}

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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());
    }
}

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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!");
    }
}

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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 對(duì)象
        FindIterable<Document> iterDoc = collection.find();
        int i = 1;
        // 獲取迭代器
        for (Document document : iterDoc) {
            System.out.println(document);
            i++;
        }
    }
}

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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());

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

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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());

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

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

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);

        // 訪問(wèn)數(shù)據(jù)庫(kù)
        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);
        }
    }
}

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

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

總結(jié) 

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

相關(guān)文章

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

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

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

    收集的一些常用java正則表達(dá)式

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

    Java的單例設(shè)計(jì)模式詳解

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

    SpringBoot設(shè)置接口超時(shí)的方法小結(jié)

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

    java利用easyexcel實(shí)現(xiàn)導(dǎo)入與導(dǎo)出功能

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

    Java中ArrayList的使用方法簡(jiǎn)單介紹

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

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

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

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

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

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

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

    MyBatis幾種不同類型傳參的方式總結(jié)

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

最新評(píng)論