日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot中使用MongoDB数据库

發布時間:2025/3/21 javascript 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot中使用MongoDB数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MongoDB簡介

MongoDB是一個基于分布式文件存儲的數據庫,它是一個介于關系數據庫和非關系數據庫之間的產品,其主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)和傳統的RDBMS系統(具有豐富的功能)之間架起一座橋梁,它集兩者的優勢于一身。

MongoDB支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型,也因為他的存儲格式也使得它所存儲的數據在Nodejs程序應用中使用非常流暢。

既然稱為NoSQL數據庫,Mongo的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

但是,MongoDB也不是萬能的,同MySQL等關系型數據庫相比,它們在針對不同的數據類型和事務要求上都存在自己獨特的優勢。在數據存儲的選擇中,堅持多樣化原則,選擇更好更經濟的方式,而不是自上而下的統一化。

較常見的,我們可以直接用MongoDB來存儲鍵值對類型的數據,如:驗證碼、Session等;由于MongoDB的橫向擴展能力,也可以用來存儲數據規模會在未來變的非常巨大的數據,如:日志、評論等;由于MongoDB存儲數據的弱類型,也可以用來存儲一些多變json數據,如:與外系統交互時經常變化的JSON報文。而對于一些對數據有復雜的高事務性要求的操作,如:賬戶交易等就不適合使用MongoDB來存儲。

MongoDB官網

訪問MongoDB

在Spring Boot中,對如此受歡迎的MongoDB,同樣提供了自配置功能。

引入依賴

Spring Boot中可以通過在pom.xml中加入spring-boot-starter-data-mongodb引入對mongodb的訪問支持依賴。它的實現依賴spring-data-mongodb。是的,您沒有看錯,又是spring-data的子項目,之前介紹過spring-data-jpa、spring-data-redis,對于mongodb的訪問,spring-data也提供了強大的支持,下面就開始動手試試吧。

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

快速開始使用Spring-data-mongodb

若MongoDB的安裝配置采用默認端口,那么在自動配置的情況下,我們不需要做任何參數配置,就能馬上連接上本地的MongoDB。下面直接使用spring-data-mongodb來嘗試對mongodb的存取操作。(記得mongod啟動您的mongodb)

  • 創建要存儲的User實體,包含屬性:id、username、age
public class User {@Idprivate Long id;private String username;private Integer age;public User(Long id, String username, Integer age) {this.id = id;this.username = username;this.age = age;}// 省略getter和setter}
  • 實現User的數據訪問對象:UserRepository
public interface UserRepository extends MongoRepository<User, Long> {User findByUsername(String username);}
  • 在單元測試中調用
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(Application.class) public class ApplicationTests {@Autowiredprivate UserRepository userRepository;@Beforepublic void setUp() {userRepository.deleteAll();}@Testpublic void test() throws Exception {// 創建三個User,并驗證User總數userRepository.save(new User(1L, "didi", 30));userRepository.save(new User(2L, "mama", 40));userRepository.save(new User(3L, "kaka", 50));Assert.assertEquals(3, userRepository.findAll().size());// 刪除一個User,再驗證User總數User u = userRepository.findOne(1L);userRepository.delete(u);Assert.assertEquals(2, userRepository.findAll().size());// 刪除一個User,再驗證User總數u = userRepository.findByUsername("mama");userRepository.delete(u);Assert.assertEquals(1, userRepository.findAll().size());}}

參數配置

通過上面的例子,我們可以輕而易舉的對MongoDB進行訪問,但是實戰中,應用服務器與MongoDB通常不會部署于同一臺設備之上,這樣就無法使用自動化的本地配置來進行使用。這個時候,我們也可以方便的配置來完成支持,只需要在application.properties中加入mongodb服務端的相關配置,具體示例如下:

spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test

在嘗試此配置時,記得在mongo中對test庫創建具備讀寫權限的用戶(用戶名為name,密碼為pass),不同版本的用戶創建語句不同,注意查看文檔做好準備工作

若使用mongodb 2.x,也可以通過如下參數配置,該方式不支持mongodb 3.x。

spring.data.mongodb.host=localhost spring.data.mongodb.port=27017

?Spring Boot

總結

以上是生活随笔為你收集整理的Spring Boot中使用MongoDB数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线播放一区二区三区 | 国产乱人伦精品 | 亚洲青青草 | 国产黄色片在线 | 欧美日韩高清在线 | 亚洲国产日韩a在线播放性色 | 奇米第四色影视 | 国产专区一 | 日本国产欧美 | 成人不卡在线 | 瑟瑟久久 | 欧美日韩视频 | 黄色a毛片 | 久久久久亚洲av无码a片 | 天天拍天天射 | 无码国产伦一区二区三区视频 | 小小姑娘电影大全免费播放 | 国产ts人妖系列高潮 | 亚洲无人区码一码二码三码 | videos另类灌满极品另类 | 99爱视频 | 亚洲av永久无码精品 | 日本免费网站 | 日本久久久久久久久久 | 本站只有精品 | 最近中文字幕mv免费高清在线 | 国产不卡视频在线播放 | www.日韩高清 | 377人体粉嫩噜噜噜 www.av黄色 | 日韩国产在线播放 | 夫妻啪啪呻吟x一88av | 国产第一福利影院 | 人人爽爽爽 | 精品色图 | 中文字幕一级片 | 国产精美视频 | 麻豆私人影院 | 欧美日韩综合一区二区 | 亚洲免费大全 | 婷婷色在线观看 | 理论片琪琪午夜电影 | 丰满少妇在线观看资源站 | 亚洲成人精品一区二区 | 亚欧av在线 | 五月婷婷狠狠干 | 亚洲私人网站 | 91精品一区 | 国产精品久久国产 | 成人激情视频在线 | 人操人人| 丁香婷婷综合激情五月色 | 成人污网站| 猛男大粗猛爽h男人味 | 狠狠狠狠干| 日本高清视频www夜色资源 | 中文字幕在线观看国产 | 萌白酱喷水视频 | 亚洲第一区在线观看 | 欧美日韩小视频 | 天天操天天爽天天干 | 九色蝌蚪91| 欧美日韩一区二区视频观看 | 亚洲欧美伊人 | 一级高清视频 | 亚洲一区二区视频在线观看 | 丰满少妇被猛烈进入 | 无码av免费毛片一区二区 | 久久国产精品波多野结衣av | 在线日韩一区 | 男生看的污网站 | 一级片aaaa | 欧美日日操 | 国产又粗又硬视频 | 婷婷俺也去| 男女午夜影院 | 午夜性激情 | 超碰在线c | 免费观看成人 | 2020自拍偷拍 | 午夜剧场免费在线观看 | 四虎在线免费观看视频 | 久久精品91 | 免费精品视频在线 | 草草草av| 成年性生交大片免费看 | 五月天婷婷导航 | 性开放网站 | 国产一区导航 | 久草资源在线 | 男人的天堂一区 | 免费国产一级 | 欧美国产日本 | 国产成人精品视频一区二区 | 欧美日本亚洲 | 国产在线一区二区三区四区 | 久久欧| 欧美日韩精选 | 青草福利| 91精品国产一区二区三区香蕉 |