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

springboot整合mongodb

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

1.mongodb的安裝和簡介

1.1簡介

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

1.2安裝

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

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

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

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

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

2.springboot集成mongodb

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

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層的編寫

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層的編寫

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

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層的編寫

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實體類層的編寫(兩個類放一起了,你們記得分開)

package com.lengmo.entity;
import lombok.Data;
import javax.persistence.Id;
 
@Data
//之所以沒有像 mysql那樣需要@table標簽去標注我們的表名與實體類的對應(yīng)關(guān)系。是因為 mongodb默認類名即與表名對應(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;
}

至此所有的整合就完成了,接下來就是去驗證各個方法的使用了!

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

相關(guān)文章

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

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

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

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

    下面小編就為大家?guī)硪黄贛ongoDB數(shù)據(jù)庫的數(shù)據(jù)類型和$type操作符詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • MongoDB使用指南--基本操作

    MongoDB使用指南--基本操作

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

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

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

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

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

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

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

    mongodb 修改用戶密碼 2種方法

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

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

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

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

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

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

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

最新評論

卓资县| 阿尔山市| 白城市| 龙泉市| 永福县| 吉安县| 开远市| 离岛区| 和平区| 都安| 民和| 绍兴县| 巢湖市| 临颍县| 大关县| 茂名市| 玉溪市| 嘉鱼县| 万宁市| 武定县| 濮阳县| 建湖县| 喀喇| 射洪县| 当阳市| 石门县| 龙川县| 梓潼县| 松阳县| 泽库县| 彭州市| 南京市| 水富县| 汤原县| 会泽县| 周宁县| 芒康县| 阜平县| 丹巴县| 大港区| 章丘市|