婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Spring Boot中使用MongoDB數據庫的方法

Spring Boot中使用MongoDB數據庫的方法

熱門標簽:怎么投訴地圖標注 老虎洗衣店地圖標注 云南外呼系統 電銷機器人是什么軟件 濟南電銷機器人加盟公司 蘋果汽車租賃店地圖標注 呼和浩特電銷外呼系統加盟 杭州人工電銷機器人價格 廣州長安公司怎樣申請400電話

MongoDB數據庫簡介

簡介

  MongoDB是一個高性能,開源,無模式的,基于分布式文件存儲的文檔型數據庫,由C++語言編寫,其名稱來源取自“humongous”,是一種開源的文檔數據庫──NoSql數據庫的一種。NoSql,全稱是 Not Only Sql,指的是非關系型的數據庫。

特點

  MongoDB數據庫的特點是高性能、易部署、易使用,存儲數據非常方便。主要功能特性有:

  * 面向集合存儲,易存儲對象類型的數據。
  * 模式自由。
  * 支持動態查詢。
  * 支持完全索引,包含內部對象。
  * 支持查詢。
  * 支持復制和故障恢復。
  * 使用高效的二進制數據存儲,包括大型對象(如視頻等)。
  * 自動處理碎片,以支持云計算層次的擴展性
  * 支持RUBY,PYTHON,JAVA,C++,PHP等多種語言。
  * 文件存儲格式為BSON(一種JSON的擴展)
  * 可通過網絡訪問

MongoDB是一個開源的NoSQL文檔數據庫,它使用一個JSON格式的模式(schema)替換了傳統的基于表的關系數據。Spring Boot為使用MongoDB提供了很多便利,包括spring-boot-starter-data-mongodb 'Starter POM'。

引入spring-boot-starter-data-mongodb包,在pom.xml配置文件中增加如下內容(基于之前章節“Spring Boot 構建框架”中的pom.xml文件):

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

注入一個自動配置的org.springframework.data.mongodb.MongoDbFactory來訪問Mongo數據庫。默認情況下,該實例將嘗試使用URL: mongodb://localhost/test連接一個MongoDB服務器。

import org.springframework.data.mongodb.MongoDbFactory;
import com.mongodb.DB;
@Component
public class MyBean {
  private final MongoDbFactory mongo;
  @Autowired
  public MyBean(MongoDbFactory mongo) {
    this.mongo = mongo;
  }
  // ...
  public void example() {
  DB db = mongo.getDb();
    // ...
  }
}

可以通過設置spring.data.mongodb.uri來改變該url,或指定一個host/port。在application.properties中設置如下的屬性:

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

注意:如果沒有指定spring.data.mongodb.port,那將使用默認的端口27017??梢院唵蔚膹纳厦娴氖纠袆h除這一行。如果不使用Spring Data Mongo,可以注入com.mongodb.Mongo beans而不是使用MongoDbFactory。如果想全面控制MongoDB連接的建立,也可以聲明自己的MongoDbFactory或Mongo,@Beans。

MongoDBTemplate

Spring Data Mongo提供了一個MongoTemplate類,它的設計和Spring的JdbcTemplate很相似。正如JdbcTemplate一樣,Spring Boot會自動配置一個bean,你只需簡單的注入它即可:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
  private final MongoTemplate mongoTemplate;
  
  @Autowired
  public MyBean(MongoTemplate mongoTemplate) {
    this.mongoTemplate = mongoTemplate;
  }
  // ...
}

應用集成MongoDB案例

在application.properties配置文件中添加內容如下:

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

多個IP集群采用以下配置:

spring.data.mongodb.uri=mongodb://user:pass@ip1:port1,ip2:port2/database

創建數據實體類,具體代碼如下:

public class UserInfo implements Serializable {
  private Long id;
  private String userName;
  private String passWord;
  //getter、setter省略
}

創建實體類對應dao層,實現增刪改查操作,具體代碼如下:

@Component
public class UserInfoDaoImpl implements UserInfoDao {// UserInfoDao 自定義接口
  @Autowired
  private MongoTemplate mongoTemplate;
  /**
   * 創建對象
   * @param user
   */
  @Override
  public void saveUser(UserInfo user) {
    mongoTemplate.save(user);
  }
  /**
   * 根據用戶名查詢對象
   * @param userName
   * @return
   */
  @Override
  public UserInfo findUserByUserName(String userName) {
    Query query=new Query(Criteria.where("userName").is(userName));
    UserInfo user = mongoTemplate.findOne(query , UserInfo.class);
    return user;
  }
  /**
   * 更新對象
   * @param user
   */
  @Override
  public void updateUser(UserInfo user) {
    Query query=new Query(Criteria.where("id").is(user.getId()));
    Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord());
    //更新查詢返回結果集的第一條
    mongoTemplate.updateFirst(query,update,UserInfo.class);
    //更新查詢返回結果集的所有
    // mongoTemplate.updateMulti(query,update,UserInfo.class);
  }
  /**
   * 刪除對象
   * @param id
   */
  @Override
  public void deleteUserById(Long id) {
    Query query=new Query(Criteria.where("id").is(id));
    mongoTemplate.remove(query,UserInfo.class);
  }
}

簡單測試方法,具體代碼如下:

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserDaoTest {
  @Autowired
  private UserDao userDao;
  @Test
  public void testSaveUser() throws Exception {
    UserInfo user=new UserInfo();
    user.setId(2);
    user.setUserName("路人甲");
    user.setPassWord("123456");
    userDao.saveUser(user);
  }
  @Test
  public void findUserByUserName(){
    UserInfo user= userDao.findUserByUserName("路人甲");
    System.out.println("user is "+user);
  }
  @Test
  public void updateUser(){
    UserInfo user=new UserInfo();
    user.setId(3);
    user.setUserName("路人乙");
    user.setPassWord("123456");
    userDao.updateUser(user);
  }
  @Test
  public void deleteUserById(){
    userDao.deleteUserById(3);
  }
}

登錄MongoDB驗證數據

使用mongoVUE工具來連接后直接圖形化查看或登錄服務器用命令來查看登錄mongodb服務端,執行命令bin/mongo -host localhost -port 27017,切換至test庫執行use test命令,查詢userInfo集合數據,執行db.userInfo.find()查詢數據。

總結

以上所述是小編給大家介紹的Spring Boot中使用MongoDB數據庫的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • 詳解SpringBoot中RestTemplate的幾種實現
  • Spring + Spring Boot + MyBatis + MongoDB的整合教程
  • SpringBoot中logback日志保存到mongoDB的方法
  • 利用Spring Boot操作MongoDB的方法教程
  • Spring Boot之搞定mongoTemplate的知識小結

標簽:雞西 玉林 遼陽 自貢 廈門 興安盟 無錫 泰安

巨人網絡通訊聲明:本文標題《Spring Boot中使用MongoDB數據庫的方法》,本文關鍵詞  Spring,Boot,中,使用,MongoDB,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Spring Boot中使用MongoDB數據庫的方法》相關的同類信息!
  • 本頁收集關于Spring Boot中使用MongoDB數據庫的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲视频在线一区二区| 欧美国产日韩精品免费观看| 色爱区综合激月婷婷| 不卡的av在线| 99国产精品国产精品毛片| 春色校园综合激情亚洲| 成人黄色av电影| 不卡区在线中文字幕| 成人黄色在线视频| 色综合久久久久综合99| 91免费小视频| 欧美欧美欧美欧美首页| 精品对白一区国产伦| 中文字幕精品三区| 亚洲免费在线观看视频| 舔着乳尖日韩一区| 国产麻豆精品视频| 色综合久久中文字幕综合网| 欧美性生活大片视频| 欧美一级专区免费大片| 久久久久国产免费免费| 国产精品盗摄一区二区三区| 婷婷六月综合网| 国产精品一区二区果冻传媒| 成人av网址在线| 精品视频资源站| 久久亚洲捆绑美女| 亚洲精品久久久蜜桃| 蜜臀久久99精品久久久久久9| 国产精品白丝av| 欧美三级视频在线播放| 久久久久久久久久电影| 亚洲成人av中文| 国产精品69毛片高清亚洲| 波多野结衣亚洲一区| 3d动漫精品啪啪| 亚洲欧美激情在线| 久久国产精品色婷婷| 在线观看欧美黄色| 国产三级精品视频| 日韩av电影免费观看高清完整版 | 免费人成精品欧美精品| 成人爱爱电影网址| 欧美xxxx老人做受| 亚洲国产欧美一区二区三区丁香婷| 美女视频网站久久| 欧洲日韩一区二区三区| 久久先锋影音av| 天堂久久一区二区三区| 91女人视频在线观看| 国产日产精品一区| 视频精品一区二区| 椎名由奈av一区二区三区| 美脚の诱脚舐め脚责91 | 日韩成人一区二区| 91女人视频在线观看| 久久这里只有精品6| 亚洲国产日韩精品| 91色婷婷久久久久合中文| 国产午夜精品久久久久久久| 日本女优在线视频一区二区| 欧洲国内综合视频| 亚洲欧美在线视频| 从欧美一区二区三区| 精品国产精品网麻豆系列| 日本美女一区二区三区视频| 一本高清dvd不卡在线观看| 欧美激情在线免费观看| 国产一区欧美二区| 精品日韩99亚洲| 免费在线观看视频一区| 91精品国产欧美一区二区成人| 午夜欧美一区二区三区在线播放| 在线观看一区二区视频| 一区二区免费视频| 欧美在线你懂得| 水野朝阳av一区二区三区| 在线播放中文字幕一区| 麻豆精品视频在线观看免费| 在线不卡一区二区| 韩国女主播成人在线| 日韩网站在线看片你懂的| 久久99精品一区二区三区| 国产亚洲综合色| bt欧美亚洲午夜电影天堂| 亚洲精品国产a| 8x福利精品第一导航| 另类欧美日韩国产在线| 久久色在线观看| av不卡免费在线观看| 一区二区三区蜜桃| 日韩一区二区免费电影| 精品一区二区三区av| 中文字幕一区二区5566日韩| 色婷婷综合久久久久中文 | 欧美精品一区二区蜜臀亚洲| 懂色av噜噜一区二区三区av| 亚洲视频 欧洲视频| 91高清视频在线| 久久精品国产网站| 自拍偷拍国产精品| 91精选在线观看| 国产91清纯白嫩初高中在线观看| 亚洲免费观看高清在线观看| 宅男在线国产精品| 国产不卡视频一区二区三区| 亚洲国产精品视频| 精品国产三级a在线观看| 色噜噜狠狠成人中文综合 | 亚洲国产一二三| 国产无人区一区二区三区| 在线免费不卡电影| 国产一区二区三区久久久 | 国产精品久久久久久久午夜片| 在线免费视频一区二区| 激情亚洲综合在线| 亚洲成人一区二区在线观看| 久久婷婷综合激情| 欧美精品 日韩| 91亚洲国产成人精品一区二三| 全国精品久久少妇| 亚洲靠逼com| 国产日韩精品一区二区三区在线| 3d动漫精品啪啪一区二区竹菊| 91美女在线观看| 丁香天五香天堂综合| 久久精品国产久精国产爱| 日韩美女视频一区二区| 久久一区二区三区四区| 欧美三级中文字| 色视频一区二区| 91亚洲精品乱码久久久久久蜜桃| 国产在线一区二区| 美国十次了思思久久精品导航| 亚洲精品欧美激情| 亚洲免费大片在线观看| 国产精品久久久久久妇女6080 | 亚洲与欧洲av电影| 国产欧美日韩激情| 久久久午夜电影| 久久久久久久久蜜桃| 欧美疯狂性受xxxxx喷水图片| 91女厕偷拍女厕偷拍高清| www.日韩在线| 91亚洲国产成人精品一区二三| 99麻豆久久久国产精品免费| 国产suv精品一区二区883| 成人综合婷婷国产精品久久 | 色综合天天狠狠| 91行情网站电视在线观看高清版| 国产不卡视频在线播放| 成人av在线资源| 91日韩精品一区| 在线看日本不卡| 欧美日韩三级在线| 欧美精品三级在线观看| 91麻豆精品国产无毒不卡在线观看| 91麻豆精品国产91久久久资源速度 | 国产一区二区在线免费观看| 久久不见久久见免费视频1| 日本视频一区二区| 国产精品1区2区3区| 成人爽a毛片一区二区免费| 一本一道久久a久久精品 | 国产高清成人在线| www.亚洲精品| 欧美精品 国产精品| 精品国产乱码久久久久久图片| 国产亚洲精品aa| 亚洲男帅同性gay1069| 性久久久久久久久| 国产精品影音先锋| 97se亚洲国产综合自在线| 欧美美女一区二区在线观看| 精品99999| 亚洲综合激情小说| 精品影视av免费| youjizz久久| 日韩欧美国产电影| 欧美激情综合在线| 一区二区三区小说| 精品系列免费在线观看| 色婷婷综合久久久中文字幕| 欧美一区在线视频| 亚洲色图欧洲色图婷婷| 丝袜美腿亚洲一区| 99这里只有精品| 欧美不卡123| 亚洲国产精品精华液网站| 国产精品一区在线| 欧美色区777第一页| 国产人伦精品一区二区| 午夜影院久久久| 成人黄色电影在线| 精品日韩一区二区三区| 午夜电影久久久| www.久久精品| 国产三级精品在线| 精品夜夜嗨av一区二区三区| 欧美日韩久久一区二区|