您好,登錄后才能下訂單哦!
mongodb是最早熱門非關(guān)系數(shù)據(jù)庫(kù)的之一,使用也比較普遍,一般會(huì)用做離線數(shù)據(jù)分析來(lái)使用,放到內(nèi)網(wǎng)的居多。由于很多公司使用了云服務(wù),服務(wù)器默認(rèn)都開放了外網(wǎng)地址,導(dǎo)致前一陣子大批 MongoDB 因配置漏洞被攻擊,數(shù)據(jù)被刪,引起了人們的注意,感興趣的可以看看這篇文章:場(chǎng)屠戮MongoDB的盛宴反思:超33000個(gè)數(shù)據(jù)庫(kù)遭遇入侵勒索,同時(shí)也說(shuō)明了很多公司生產(chǎn)中大量使用mongodb。
mongodb簡(jiǎn)介
MongoDB(來(lái)自于英文單詞“Humongous”,中文含義為“龐大”)是可以應(yīng)用于各種規(guī)模的企業(yè)、各個(gè)行業(yè)以及各類應(yīng)用程序的開源數(shù)據(jù)庫(kù)。基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB是一個(gè)高性能,開源,無(wú)模式的文檔型數(shù)據(jù)庫(kù),是當(dāng)前NoSql數(shù)據(jù)庫(kù)中比較熱門的一種。
MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bjson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是他支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。
傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)一般由數(shù)據(jù)庫(kù)(database)、表(table)、記錄(record)三個(gè)層次概念組成,MongoDB是由數(shù)據(jù)庫(kù)(database)、集合(collection)、文檔對(duì)象(document)三個(gè)層次組成。MongoDB對(duì)于關(guān)系型數(shù)據(jù)庫(kù)里的表,但是集合中沒(méi)有列、行和關(guān)系概念,這體現(xiàn)了模式自由的特點(diǎn)。
MongoDB中的一條記錄就是一個(gè)文檔,是一個(gè)數(shù)據(jù)結(jié)構(gòu),由字段和值對(duì)組成。MongoDB文檔與JSON對(duì)象類似。字段的值有可能包括其它文檔、數(shù)組以及文檔數(shù)組。MongoDB支持OS X、Linux及Windows等操作系統(tǒng),并提供了Python,PHP,Ruby,Java及C++語(yǔ)言的驅(qū)動(dòng)程序,社區(qū)中也提供了對(duì)Erlang及.NET等平臺(tái)的驅(qū)動(dòng)程序。
MySQL的適合對(duì)大量或者無(wú)固定格式的數(shù)據(jù)進(jìn)行存儲(chǔ),比如:日志、緩存等。對(duì)事物支持較弱,不適用復(fù)雜的多文檔(多表)的級(jí)聯(lián)查詢。文中演示mongodb版本為3.4。
最近接手一個(gè)Springboot項(xiàng)目,需要在原項(xiàng)目上增加一些需求,用到了mongodb。一起看下集成之路吧!
1、首先pom.xml中引入mongodbDe依賴jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
2、創(chuàng)建實(shí)體類
@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ù)庫(kù)的相關(guān)配置信息
#mongodb配置 spring.data.mongodb.uri=mongodb://192.168.86.888:27017/test
到此相關(guān)信息配置已完成,測(cè)試驗(yàn)證與數(shù)據(jù)庫(kù)的交互都正確!
總結(jié)
以上所述是小編給大家介紹的Sprint Boot 集成MongoDB的操作方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。