最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot整合mongodb

 更新時(shí)間:2023年03月31日 17:25:08   作者:Demon丶冷漠  
這篇文章主要介紹了springboot如何整合mongodb,mongodb的安裝和使用,感興趣的同學(xué)可以參考閱讀本文

1.mongodb的安裝和簡(jiǎn)介

1.1簡(jiǎn)介

MongoDB 是由C++語(yǔ)言編寫(xiě)的,是一個(gè)基于分布式文件存儲(chǔ)的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能。MongoDB 旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB 將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對(duì)組成。MongoDB 文檔類似于 JSON 對(duì)象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。

1.2安裝

網(wǎng)上安裝的教程也比較多,我在這里就不再多說(shuō)了。直接提供一下我自己的db安裝包和可視化安裝包,這里的版本可能有點(diǎn)舊,需要新的包可以自行去網(wǎng)上下載!

數(shù)據(jù)庫(kù)鏈接:https://pan.baidu.com/s/1Pu7ijrzmzkYEp-jRgHENbA     提取碼:7cz2 

可視化工具鏈接:https://pan.baidu.com/s/1ZBe_F5Eab1KYk6GAVono6w  提取碼:9g55 

1.3配置環(huán)境變量和檢查安裝情況

這里的配置類似于jdk的配置,不再多說(shuō)!查看安裝和啟動(dòng)數(shù)據(jù)庫(kù)

2.springboot集成mongodb

為了節(jié)省篇幅,好多注釋和空行都去掉了,大家見(jiàn)諒!

2.1pom文件中maven的引入

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

2.2properties文件配置

#################mongodb################
#spring.data.mongodb.uri=mongodb://username:password@localhost:27017/test
spring.data.mongodb.uri=mongodb://localhost:27017/springboot

2.3dao層的編寫(xiě)

package com.lengmo.dao;
 
import com.lengmo.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;
import java.util.List;
 
@Component
public class MongoDbDao {
    @Autowired
    private MongoTemplate mongoTemplate;
    public void save(Student s) {
        mongoTemplate.save(s);
    }
    public Student get(Query query) {
        return mongoTemplate.findOne(query,Student.class);
    }
    public List<Student> findAll() {
        return mongoTemplate.findAll(Student.class);
    }
    public void update(Query query, Update update) {
        mongoTemplate.updateMulti(query,update,Student.class);
    }
    public void delete(Query query) {
        mongoTemplate.remove(query,Student.class);
    }
}

2.4service層的編寫(xiě)

這里要熟悉mongodb的一些常規(guī)操作方法,多用多練習(xí)即可?。。?!

package com.lengmo.service;
 
import com.lengmo.dao.MongoDbDao;
import com.lengmo.entity.Hobbies;
import com.lengmo.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import java.util.List;
 
@Service
public class MongoDbService {
    @Autowired
    private MongoDbDao mongoDbDao;
    public void save() {
        Student s=new Student();
        s.setName("lis");
        s.setAge(17);
        s.setSex(1);
        s.setHeight(182);
        Hobbies h=new Hobbies();
        h.setHname("swing");
        s.setHobbies(h);
        mongoDbDao.save(s);
    }
    public Student get() {
       //and查詢
        /* Criteria criteriaName=Criteria.where("name").is("lisi");
        Criteria criteriaAage=Criteria.where("age").is(17);
        Criteria andCriteria = new Criteria();
        andCriteria.andOperator(criteriaName,criteriaAage);
        Query query=new Query(andCriteria);*/
        //or查詢
        Criteria criteriaName=Criteria.where("name").is("lisi");
        Criteria criteriaAage=Criteria.where("age").gt(16);
        Criteria orCriteria = new Criteria();
        orCriteria.orOperator(criteriaName,criteriaAage);
        Query query=new Query(orCriteria);
 
        return  mongoDbDao.get(query);
    }
    public List<Student> findAll() {
        return mongoDbDao.findAll();
    }
    public void update() {
        Query query=new Query(Criteria.where("name").is("zhangsan"));
        Update update=new Update();
        update.set("age",30);
        update.set("height",188);
        update.set("hobbies.hname","basketball");
        mongoDbDao.update(query,update);
    }
    public void delete() {
        Query query=new Query(Criteria.where("name").is("zhangsan"));
        mongoDbDao.delete(query);
    }
}

2.5conreoller層的編寫(xiě)

package com.lengmo.controller;
 
import com.lengmo.entity.Student;
import com.lengmo.service.MongoDbService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
 
@RestController
@RequestMapping("/mongodb")
public class MongoDbController {
    @Autowired
    private MongoDbService mongoDbService;
    @RequestMapping("/save")
    public void save(){
        mongoDbService.save();
    }
    @RequestMapping("/get")
    public Student get(){
        return mongoDbService.get();
    }
    @RequestMapping("/findAll")
    public List<Student> findAll(){
        return mongoDbService.findAll();
    }
 
    @RequestMapping("/update")
    public void update(){
        mongoDbService.update();
    }
    @RequestMapping("/delete")
    public void delete(){
        mongoDbService.delete();
    }
}

2.6實(shí)體類層的編寫(xiě)(兩個(gè)類放一起了,你們記得分開(kāi))

package com.lengmo.entity;
import lombok.Data;
import javax.persistence.Id;
 
@Data
//之所以沒(méi)有像 mysql那樣需要@table標(biāo)簽去標(biāo)注我們的表名與實(shí)體類的對(duì)應(yīng)關(guān)系。是因?yàn)?mongodb默認(rèn)類名即與表名對(duì)應(yīng)。
public class Student{
    @Id
    private String id;
    private String name;
    private Integer age;
    private Integer sex;
    private Integer height;
    private Hobbies hobbies;
}
 
 
 
package com.lengmo.entity;
import lombok.Data;
 
@Data
public class Hobbies {
    private  String hname;
}

至此所有的整合就完成了,接下來(lái)就是去驗(yàn)證各個(gè)方法的使用了!

到此這篇關(guān)于springboot整合mongodb的文章就介紹到這了,更多相關(guān)springboot整合mongodb內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段

    如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段

    這篇文章主要給大家介紹了如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • 基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和$type操作符詳解

    基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和$type操作符詳解

    下面小編就為大家?guī)?lái)一篇基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和$type操作符詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • MongoDB使用指南--基本操作

    MongoDB使用指南--基本操作

    上篇文章,我們講訴了MongoDB數(shù)據(jù)庫(kù)的用戶操作,本文將介紹如何基本操作MongoDB數(shù)據(jù)庫(kù),當(dāng)然是基本的,最基本的操作,需要的朋友可以參考下
    2014-08-08
  • CentOS 7系統(tǒng)下SELinux阻止MongoDB啟動(dòng)的問(wèn)題詳解

    CentOS 7系統(tǒng)下SELinux阻止MongoDB啟動(dòng)的問(wèn)題詳解

    這篇文章主要給大家介紹了關(guān)于CentOS 7系統(tǒng)下SELinux阻止MongoDB啟動(dòng)問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 剖析后OpLog訂閱MongoDB的數(shù)據(jù)變更就沒(méi)那么難了

    剖析后OpLog訂閱MongoDB的數(shù)據(jù)變更就沒(méi)那么難了

    這篇文章主要為介紹了OpLog訂閱MongoDB的數(shù)據(jù)變更,希望讀完本文后讓你對(duì)OpLog訂閱MongoDB的數(shù)據(jù)變更不在頭疼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • 遷移sqlserver數(shù)據(jù)到MongoDb的方法

    遷移sqlserver數(shù)據(jù)到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數(shù)據(jù)到MongoDb的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • mongodb 修改用戶密碼 2種方法

    mongodb 修改用戶密碼 2種方法

    mongodb的用戶信息是存放在system.users表中的,修改密碼不能直接更新表數(shù)據(jù),這樣的話,存到表里的密碼是明文的,這就不對(duì)了。
    2014-07-07
  • mongodb中隨機(jī)獲取1條記錄的實(shí)現(xiàn)方法

    mongodb中隨機(jī)獲取1條記錄的實(shí)現(xiàn)方法

    這篇文章運(yùn)用實(shí)例給大家演示了如何在mongodb中隨機(jī)獲取1條記錄,文中介紹的很詳細(xì),有需要的朋友們可以參考借鑒。下面來(lái)一起看看吧。
    2016-09-09
  • Mac中mongoDB的安裝與卸載步驟詳解

    Mac中mongoDB的安裝與卸載步驟詳解

    mongoDB是一個(gè)非常不錯(cuò)的數(shù)據(jù)庫(kù),最近也正在學(xué)習(xí)mongoDB,在使用一個(gè)數(shù)據(jù)庫(kù)前必不可少的就是安裝和卸載,所以下面這篇文章主要給大家介紹了關(guān)于Mac系統(tǒng)中mongoDB安裝與卸載的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-10-10
  • MongoDB的基本特性與內(nèi)部構(gòu)造的講解

    MongoDB的基本特性與內(nèi)部構(gòu)造的講解

    今天小編就為大家分享一篇關(guān)于MongoDB的基本特性與內(nèi)部構(gòu)造的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03

最新評(píng)論

郓城县| 民权县| 弥勒县| 长子县| 香河县| 北票市| 行唐县| 阳新县| 英德市| 深水埗区| 会昌县| 南木林县| 商丘市| 新野县| 隆昌县| 丹阳市| 辽阳市| 彰化市| 浪卡子县| 宣恩县| 棋牌| 攀枝花市| 英德市| 衡南县| 丹巴县| 潍坊市| 托克逊县| 乐亭县| 水城县| 西乌| 乌拉特前旗| 广河县| 凌海市| 东乌珠穆沁旗| 南京市| 鞍山市| 龙陵县| 通山县| 包头市| 定襄县| 类乌齐县|