国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

Spring Boot中使用MongoDB數(shù)據(jù)庫的方法

2020-10-29 18:44:39
字體:
供稿:網(wǎng)友

MongoDB數(shù)據(jù)庫簡介

簡介

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

特點

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

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

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

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

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

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

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

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

spring.data.mongodb.host=mongoserverspring.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類,它的設(shè)計和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;@Componentpublic class MyBean {  private final MongoTemplate mongoTemplate;    @Autowired  public MyBean(MongoTemplate mongoTemplate) {    this.mongoTemplate = mongoTemplate;  }  // ...}

應(yīng)用集成MongoDB案例

在application.properties配置文件中添加內(nèi)容如下:

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

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

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

創(chuàng)建數(shù)據(jù)實體類,具體代碼如下:

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

創(chuàng)建實體類對應(yīng)dao層,實現(xiàn)增刪改查操作,具體代碼如下:

@Componentpublic class UserInfoDaoImpl implements UserInfoDao {// UserInfoDao 自定義接口  @Autowired  private MongoTemplate mongoTemplate;  /**   * 創(chuàng)建對象   * @param user   */  @Override  public void saveUser(UserInfo user) {    mongoTemplate.save(user);  }  /**   * 根據(jù)用戶名查詢對象   * @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());    //更新查詢返回結(jié)果集的第一條    mongoTemplate.updateFirst(query,update,UserInfo.class);    //更新查詢返回結(jié)果集的所有    // 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)@SpringBootTestpublic 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驗證數(shù)據(jù)

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

總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产在线免费观看| 国产精品视频一区二区久久| 国产三级在线免费| 青青草在线播放| 欧美性xxxx交| 国产美女av| 国产三级在线看| 精品国内一区二区三区免费视频| av中文资源在线| 2021av在线| 青青青青在线| 1区不卡电影| 中文在线视频| 久久国产情侣| 国产高清视频免费最新在线| 国产特级淫片免费看| 国产乱xxⅹxx国语对白| 黄色毛片在线观看| 国产乱妇乱子在线播视频播放网站| 久热中文字幕在线观看| 日本一二三区视频免费高清| 亚洲视频在线观看不卡| а√最新版在线天堂| 欧洲亚洲精品视频| 中文字幕视频在线| 美女av在线播放| 国产精品免费视频一区一| eeuss影院在线| 国产一级片麻豆| av免费在线一区二区三区| 黄色毛片在线看| 精品偷拍激情视频在线观看| 久久国产情侣| 精品欧美不卡一区二区在线观看| av在线你懂的| 国产日韩网站| 91av久久| 国产9色视频| 天堂中文在线视频| 二区三区中文字幕| 日本高清不卡中文字幕| 69精品视频| 九九热免费视频| jizz在线视频| 先锋影音av中文字幕| 豆国产97在线|亚洲| 青青草视频在线免费观看| 国产精品666| 久久精品国产麻豆| 九七电影韩国女主播在线观看| 91精品国产91久久久久久青草| 日本一本久久| 在线中文字幕av| 伊人影院蕉久影院在线播放| 国产精品毛片一区二区三区四区| 亚洲а∨精品天堂在线| 精品日韩av| 国产91足控脚交在线观看| 最新中文字幕在线| 成人免费一区二区三区牛牛| 久久精品蜜桃| 久蕉依人在线视频| 国产麻豆高清视频在线第一页 | 在线观看精品一区二区三区| 亚洲精品国自产拍在线观看| 国产经典三级在线| 国产黄色片大全| 99reav在线| 九九热视频免费观看| 国产毛片视频| 五月婷婷在线视频| 国产特级毛片| 亚洲永久免费网站| 国产精品一区二三区| 国产www网站| 在线观看免费观看在线91| xxx国产精品| 超碰在线国产| 国产国产国产国产国产国产| 91在线网站| www.蜜桃av| 精品欧美日韩一区二区| sm国产在线调教视频| 九九热在线视频观看| 国产网站观看9久| 99久热re在线精彩视频| 任你操视频在线观看| 中文字幕不卡免费视频| 在线视频福利| 国产一卡二卡3卡4卡四卡在线| 国产黄大片在线观看画质优化| 国产三级在线| 日本一级理论片在线大全| 国产午夜精品久久久久免费视 | 日本三级在线视频| 日本黄在线观看| 精品视频麻豆入口| 国产青青草在线| 麻豆国产在线视频| 四虎精品视频| www免费在线观看视频| 国产国产人免费人成免费视频| 国产黄色免费在线观看| 国产天堂在线播放视频| 精品偷拍激情视频在线观看| 九色视频网站| xxx国产精品| 天天噜天天色| eeuss影院在线观看第一页| 国产精品被窝福利一区 | 亚洲国产成人综合| 国产精品久久一区二区三区不卡| av在线网页| 91美女在线| 日本不卡影院| 麻豆国产在线播放| 国产理论片免费观看| 久热免费视频| www在线观看播放免费视频日本| av高清资源| 精品久久九九| 亚洲成a人v欧美综合天堂麻豆| 青青草在线视频免费观看| 国产成人亚洲综合小说区| 亚洲日本一区二区三区在线观看| 国产麻豆麻豆| 超碰在线影院| 国产麻豆免费| 96久久久久久| 老鸭窝av在线| 国产99在线|亚洲| 四虎国产精品永久地址998| 亚洲国产精品区| www网站在线观看| 中文字幕免费中文| 在线免费观看你懂的| 天天操夜夜添| 99视频在线观看地址| 午夜免费视频在线国产| 国产网站av| 国产精品免费麻豆入口| 色综合久久五月天| 激情丁香在线| 阿v免费在线观看| 国产日韩欧美精品一区二区三区 | 日本欧美在线视频免费观看| 国产青草视频在线观看视频| 成网站在线观看人免费| 日韩av成人| 国产精品欧美韩国日本久久| 2020亚洲男人天堂| 四虎一区二区三区| 国产精美视频| 中文字幕在线免费| 日本视频在线| 亚洲www色| 午夜羞羞小视频在线观看| 免费av在线| 国产叼嘿网站免费观看不用充会员| 亚洲精品少妇久久久久久| 激情四房婷婷| 精品999视频| 国产激情视频一区二区| 免费a在线看| av网址在线播放| 精品推荐国产麻豆剧传媒| av中文在线资源| 国产精品xxx电影| 国产青草视频在线观看视频| 在线黄色.com| 99re6在线视频精品免费| 欧美日韩亚洲国内综合网| 丁香婷婷激情| 黄色毛片在线| 成人无遮挡免费网站视频在线观看| 国产乱子伦三级在线播放| 中文字幕在线观看日本| 亚洲欧美日韩综合精品网| 黄色毛片在线看| av在线天堂| 九九热免费在线视频| 在线观看中文字幕| 亚洲欧美综合乱码精品成人网| 国产日产一区二区| 国产私人影院| 中文字幕av网| 国产原创精品视频| 91在线高清| 国产免费永久在线观看| 樱花草在线观看www| 九九在线视频| 最新av免费看| 国产特级毛片| 亚洲videos| 丁香花高清视频完整版在线观看| 国产福利在线观看| 国产黄色一级片| 久热免费视频| 136福利第一导航国产在线| 国产乱精品一区二区三区|