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

Sprint Boot 集成MongoDB的操作方法

 更新時間:2017年12月04日 09:58:43   投稿:mrr  
最近接手一個Springboot項目,需要在原項目上增加一些需求,用到了mongodb。下面通過本文給大家分享Sprint Boot 集成MongoDB的操作方法,需要的朋友參考下吧

mongodb是最早熱門非關(guān)系數(shù)據(jù)庫的之一,使用也比較普遍,一般會用做離線數(shù)據(jù)分析來使用,放到內(nèi)網(wǎng)的居多。由于很多公司使用了云服務(wù),服務(wù)器默認都開放了外網(wǎng)地址,導(dǎo)致前一陣子大批 MongoDB 因配置漏洞被攻擊,數(shù)據(jù)被刪,引起了人們的注意,感興趣的可以看看這篇文章:場屠戮MongoDB的盛宴反思:超33000個數(shù)據(jù)庫遭遇入侵勒索,同時也說明了很多公司生產(chǎn)中大量使用mongodb。

mongodb簡介

MongoDB(來自于英文單詞“Humongous”,中文含義為“龐大”)是可以應(yīng)用于各種規(guī)模的企業(yè)、各個行業(yè)以及各類應(yīng)用程序的開源數(shù)據(jù)庫。基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。MongoDB是一個高性能,開源,無模式的文檔型數(shù)據(jù)庫,是當前NoSql數(shù)據(jù)庫中比較熱門的一種。

MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bjson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

傳統(tǒng)的關(guān)系數(shù)據(jù)庫一般由數(shù)據(jù)庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由數(shù)據(jù)庫(database)、集合(collection)、文檔對象(document)三個層次組成。MongoDB對于關(guān)系型數(shù)據(jù)庫里的表,但是集合中沒有列、行和關(guān)系概念,這體現(xiàn)了模式自由的特點。

MongoDB中的一條記錄就是一個文檔,是一個數(shù)據(jù)結(jié)構(gòu),由字段和值對組成。MongoDB文檔與JSON對象類似。字段的值有可能包括其它文檔、數(shù)組以及文檔數(shù)組。MongoDB支持OS X、Linux及Windows等操作系統(tǒng),并提供了Python,PHP,Ruby,Java及C++語言的驅(qū)動程序,社區(qū)中也提供了對Erlang及.NET等平臺的驅(qū)動程序。

MySQL的適合對大量或者無固定格式的數(shù)據(jù)進行存儲,比如:日志、緩存等。對事物支持較弱,不適用復(fù)雜的多文檔(多表)的級聯(lián)查詢。文中演示mongodb版本為3.4。

最近接手一個Springboot項目,需要在原項目上增加一些需求,用到了mongodb。一起看下集成之路吧!

1、首先pom.xml中引入mongodbDe依賴jar包

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

2、創(chuàng)建實體類

@Document(collection = "spiderConfig")
public class SpiderConfig implements Serializable {
  @Id
  private String id;
  private String spiderConfig;
  private long updateTime;
  public String getId() {
    return id;
  }
  public void setId(String id) {
    this.id = id;
  }
  public String getSpiderConfig() {
    return spiderConfig;
  }
  public void setSpiderConfig(String spiderConfig) {
    this.spiderConfig = spiderConfig;
  }
  public long getUpdateTime() {
    return updateTime;
  }
  public void setUpdateTime(long updateTime) {
    this.updateTime = updateTime;
  }
}

3、dao層操作mongodb的代碼

@Component
public class SpiderConfigDaoImpl implements ISpiderConfigDao{
  @Autowired
  private MongoTemplate mongoTemplate;
  @Override
  public SpiderConfig findById(String id) {
    Query query=new Query(Criteria.where("_id").is(id));
    SpiderConfig user = mongoTemplate.findOne(query , SpiderConfig.class);
    return user;
  }
  @Override
  public void saveSpiderConfig(SpiderConfig spiderConfig) {
    mongoTemplate.save(spiderConfig);
  }
}

4、在application.properties中設(shè)置monggodb數(shù)據(jù)庫的相關(guān)配置信息

#mongodb配置
spring.data.mongodb.uri=mongodb://192.168.86.888:27017/test

到此相關(guān)信息配置已完成,測試驗證與數(shù)據(jù)庫的交互都正確!

總結(jié)

以上所述是小編給大家介紹的Sprint Boot 集成MongoDB的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論