国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MongoDB - 整合 SpringBoot 操作全流程

這篇具有很好參考價(jià)值的文章主要介紹了MongoDB - 整合 SpringBoot 操作全流程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、MongoDB 整合 SpringBoot

1.1、引入依賴

1.2、配置文件

1.3、集合操作

1.4、相關(guān)注解

1.5、文檔操作

1.5.1、查詢

1.5.2、更新

1.5.3、刪除


一、MongoDB 整合 SpringBoot


1.1、引入依賴

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

1.2、配置文件

spring:
  data:
    mongodb:
      uri: mongodb://192.168.73.3:27017/demo
#      mongodb 一般不設(shè)置密碼
#      username: root
#      password: 1111

uri 格式為: mongodb://ip 地址:mongodb 端口號/集合名

1.3、集合操作

Ps:以 demo 集合為例

a)創(chuàng)建集合

        if(!mongoTemplate.collectionExists("demo")) {
            //不存在才能創(chuàng)建,如果以及存在再創(chuàng)建就會報(bào)錯
            mongoTemplate.createCollection("demo");
        }

b)刪除集合

        mongoTemplate.dropCollection("demo1");

1.4、相關(guān)注解

a)@Document

  • 修飾范圍:在類上.
  • 作用:映射當(dāng)前類的一個(gè)對象為 mongo 的一條文檔.
  • 屬性:value 和 collection 都是用來表示操作的集合名.

b)@Id

  • 修飾范圍:成員變量、方法.
  • 作用:將值映射成文檔的 _id.

c)@Field

  • 修飾范圍:成員變量、方法.
  • 作用:將值映射為文檔中的一個(gè) key 名稱.

d)@Transient

  • 修飾范圍:成員變量、方法.
  • 租用:指定值不參與文檔序列化.

以 User 類為例:

@Document("demo") //表示當(dāng)前文檔屬于哪個(gè)集合
public class User {

    @Id //當(dāng)前類的 id 映射文檔中的 _id
    private Integer id;
    private String name;
    private Integer age;
    @Field("work_day")  //當(dāng)前類的 workDay 映射文檔中的 work_day
    private Date workDay;

    public User(Integer id, String name, Integer age, Date workDay) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.workDay = workDay;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", workDay=" + workDay +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Date getWorkDay() {
        return workDay;
    }

    public void setWorkDay(Date workDay) {
        this.workDay = workDay;
    }
}

1.5、文檔操作

1.5.1、查詢

        //1.查詢所有
        System.out.println("------------------------------------------------");
        List<User> users = mongoTemplate.findAll(User.class);
        users.forEach(System.out::println);

        //2.根據(jù) id 查詢指定文檔
        System.out.println("------------------------------------------------");
        User byId = mongoTemplate.findById(1, User.class);
        System.out.println(byId);

        //3.根據(jù)查詢條件進(jìn)行查詢(參數(shù)1: 查詢條件, 參數(shù)2: 返回類型)
        System.out.println("------------------------------------------------");
//        mongoTemplate.find(new Query(), User.class);  //沒有查詢條件就是查詢所有
        //a) 等值查詢
        System.out.println("------------------------------------------------");
        List<User> users1 = mongoTemplate.find(Query.query(Criteria.where("name").is("周杰倫")), User.class);
        users1.forEach(System.out::println);

        //b) > 查詢: gt()、>= 查詢: gte() 、 < 查詢: lt()、<= 查詢 lte() 查詢
        //以 > 為例
        System.out.println("------------------------------------------------");
        List<User> users2 = mongoTemplate.find(Query.query(Criteria.where("age").gt(30)), User.class);
        users2.forEach(System.out::println);

        //4.and 查詢
        System.out.println("------------------------------------------------");
        List<User> users3 = mongoTemplate.find(Query.query(Criteria.where("name").is("薛之謙").and("age").is(40)), User.class);
        users3.forEach(System.out::println);

        //5.or 查詢
        System.out.println("------------------------------------------------");
        Criteria criteria = new Criteria();
        criteria.orOperator(
        Criteria.where("name").is("周杰倫"),
                Criteria.where("name").is("薛之謙")
        );
        List<User> users4 = mongoTemplate.find(Query.query(criteria), User.class);
        users4.forEach(System.out::println);

        //6.and 和 or
        System.out.println("------------------------------------------------");
        Criteria criteria1 = new Criteria();
        criteria1.and("age").is(40)
                .orOperator(
                        Criteria.where("name").is("周杰倫"),
                        Criteria.where("name").is("薛之謙")
                );
        List<User> users5 = mongoTemplate.find(Query.query(criteria1), User.class);
        users5.forEach(System.out::println);

        //7.sort
        System.out.println("------------------------------------------------");
        Query query = new Query();
        query.with(Sort.by(Sort.Order.desc("age"))); //desc 降序, asc 升序
        mongoTemplate.find(query, User.class);

        //8.分頁: skip limit
        System.out.println("------------------------------------------------");
        Query queryPage = new Query();
        queryPage.with(Sort.by(Sort.Order.desc("age"))) //desc 降序, asc 升序
                .skip(0)
                .limit(3);
        mongoTemplate.find(queryPage, User.class);

        //9.總數(shù)
        System.out.println("------------------------------------------------");
        mongoTemplate.count(new Query(), User.class);

        //10.去重 distinct(參數(shù)1: 查詢條件, 參數(shù)2: 去重字段, 參數(shù)3: 操作集合, 參數(shù)4: 返回類型)
        System.out.println("------------------------------------------------");
        List<String> name = mongoTemplate.findDistinct(new Query(), "name", User.class, String.class);

        //11.json 字符串查詢
        System.out.println("------------------------------------------------");
        Query queryJson = new BasicQuery("{name: '周杰倫', age: '20'}");
        List<User> users6 = mongoTemplate.find(queryJson, User.class);

1.5.2、更新

        //1.更新條件
        Query query = Query.query(Criteria.where("name").is("周杰倫"));
        //2.更新內(nèi)容
        Update update = new Update();
        update.set("age", 20);

        //a) 更新單條
        mongoTemplate.updateFirst(query, update, User.class);
        //b) 更新多條
        mongoTemplate.updateMulti(query, update, User.class);
        //c) 不存在就插入(存在就更新第一條)
        mongoTemplate.upsert(query, update, User.class);

1.5.3、刪除

        //1.刪除所有
        mongoTemplate.remove(new Query(), User.class);
        //2.條件刪除
        mongoTemplate.remove(Query.query(Criteria.where("name").is("林俊杰")), User.class);

MongoDB - 整合 SpringBoot 操作全流程,MongoDB,spring boot,mongodb,后端文章來源地址http://www.zghlxwxcb.cn/news/detail-797749.html

到了這里,關(guān)于MongoDB - 整合 SpringBoot 操作全流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 詳解

    MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,且與關(guān)系數(shù)據(jù)庫的最為相像的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似 json 的 bson 格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo 最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)

    2024年02月02日
    瀏覽(16)
  • 使用Spring Boot操作Redis、ES、MongoDB舉例

    在Spring Boot應(yīng)用程序中操作Redis通常涉及到使用Spring Data Redis,這是一個(gè)提供簡便方法來操作Redis的庫。以下是一個(gè)基本示例,演示如何在Spring Boot應(yīng)用程序中集成和使用Redis: 步驟 1: 添加依賴項(xiàng) 首先,在你的 pom.xml 文件中添加Spring Data Redis的依賴項(xiàng)。 步驟 2: 配置Redis 在你的

    2024年01月25日
    瀏覽(21)
  • java springboot整合Mongodb 對數(shù)據(jù)庫集合進(jìn)行增刪查改操作

    java springboot整合Mongodb 對數(shù)據(jù)庫集合進(jìn)行增刪查改操作

    下面 我們就來做 springboot 整合Mongodb的工作 我們終端打開 Mongodb 安裝目錄下的bin目錄 然后執(zhí)行 啟動服務(wù) 然后 打開我們的 springboot 項(xiàng)目 在pom.xml 文件中 導(dǎo)入坐標(biāo) 有了依賴之后 就還差配置 打開項(xiàng)目中的 application 配置文件 我這里用的 yml 格式 我們在上面 打個(gè) mong 它就會彈出

    2024年01月18日
    瀏覽(23)
  • Spring Boot進(jìn)階(55):SpringBoot之集成MongoDB及實(shí)戰(zhàn)使用 | 超級詳細(xì),建議收藏

    Spring Boot進(jìn)階(55):SpringBoot之集成MongoDB及實(shí)戰(zhàn)使用 | 超級詳細(xì),建議收藏

    ????????隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)存儲和處理變得越來越重要。而MongoDB作為一種非關(guān)系型數(shù)據(jù)庫,具有高效的數(shù)據(jù)存儲和處理能力,被越來越多地應(yīng)用于各種領(lǐng)域。尤其在Web應(yīng)用開發(fā)中,SpringBoot框架已經(jīng)成為了主流選擇之一。在這篇文章中,我們將探討如何將MongoD

    2024年02月17日
    瀏覽(24)
  • 1024程序員節(jié)特輯 | Spring Boot實(shí)戰(zhàn) 之 MongoDB分片或復(fù)制集操作

    1024程序員節(jié)特輯 | Spring Boot實(shí)戰(zhàn) 之 MongoDB分片或復(fù)制集操作

    Spring實(shí)戰(zhàn)系列文章: Spring實(shí)戰(zhàn) | Spring AOP核心秘笈之葵花寶典 Spring實(shí)戰(zhàn) | Spring IOC不能說的秘密? 國慶中秋特輯系列文章: 國慶中秋特輯(八)Spring Boot項(xiàng)目如何使用JPA 國慶中秋特輯(七)Java軟件工程師常見20道編程面試題 國慶中秋特輯(六)大學(xué)生常見30道寶藏編程面試題

    2024年02月08日
    瀏覽(44)
  • 【MongoDB】SpringBoot整合MongoDB

    【MongoDB】SpringBoot整合MongoDB

    引入依賴: 1.1 創(chuàng)建集合 創(chuàng)建一個(gè) ”products“ 集合,如果不存在則創(chuàng)建,存在則不創(chuàng)建。 1.2 刪除集合 @Document 修飾范圍:用在類上 作用:用來映射這個(gè)類的一個(gè)對象為 mongo 中一條文檔數(shù)據(jù) 屬性:{value、collection} 用來指定操作的集合名稱 @Id 修飾范圍:用在成員變量、方法上

    2024年02月16日
    瀏覽(22)
  • SpringBoot 整合 MongoDB 連接 阿里云MongoDB

    ? 注:spring-boot-starter-data-mongodb 2.7.5;jdk 1.8? 阿里云MongoDB是 副本集實(shí)例的 在網(wǎng)上查找了一番,大多數(shù)都是教連接本地mongodb或者linux上的mongodb 阿里云上有java版連接教程,但它不是SpringBoot方法配置的,是手動寫死的很不方便。 通過程序代碼連接MongoDB副本集實(shí)例 下面進(jìn)行配置

    2024年02月14日
    瀏覽(61)
  • SpringBoot——整合MongoDB詳解

    1、JPA方式 測試: 2、MongoTemplate方式 dao接口: 實(shí)現(xiàn)類: 測試類: 1、查詢 is查詢: in查詢: 字符模糊查詢: 指定字段不返回: 數(shù)組中添加或刪除一條數(shù)據(jù): 批量添加: 數(shù)組查詢: 數(shù)字字符串排序操作 分頁: criteria: 解釋 eq 等于,第一個(gè)參數(shù)是對象屬性,第二個(gè)參數(shù)

    2024年02月11日
    瀏覽(20)
  • SpringBoot——整合Mongodb

    SpringBoot——整合Mongodb

    Mongdb是一個(gè)開源,高性能, 無模式的文檔型數(shù)據(jù)庫 ,NoSQL數(shù)據(jù)庫產(chǎn)品中的一種,是 最像 關(guān)系型數(shù)據(jù)庫的非關(guān)系型數(shù)據(jù)庫。 用戶數(shù)據(jù) 存儲位置:數(shù)據(jù)庫 特征:永久性存儲,修改頻率極低 游戲裝備數(shù)據(jù) 存儲位置:數(shù)據(jù)庫, MongDB 特征:永久性存儲與臨時(shí)存儲相結(jié)合,修改頻率

    2024年02月10日
    瀏覽(13)
  • SpringBoot整合MongoDB

    SpringBoot整合MongoDB

    提示:以下是本篇文章正文內(nèi)容,MongoDB 系列學(xué)習(xí)將會持續(xù)更新 ①添加 SpringData 依賴: ②配置 yml 文件 ,官方連接配置文檔 方式一: 方式二: ③直接注入 MongoTemplate 進(jìn)行操作 回到目錄… @Document 修飾范圍 :用在類上。 作用 :用來映射這個(gè)類的一個(gè)對象為 Mongo 中一條文檔

    2023年04月26日
    瀏覽(13)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包