国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - MongoDB - Spring Boot中使用MongoDB數(shù)據(jù)庫(kù)的方法

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

2020-05-16 20:09roncoo MongoDB

MongoDB是一個(gè)高性能,開源,無模式的,基于分布式文件存儲(chǔ)的文檔型數(shù)據(jù)庫(kù),由C++語言編寫,其名稱來源取自“humongous”,是一種開源的文檔數(shù)據(jù)庫(kù)──NoSql數(shù)據(jù)庫(kù)的一種。這篇文章主要介紹了Spring Boot中使用MongoDB數(shù)據(jù)庫(kù)的方法,需

MongoDB數(shù)據(jù)庫(kù)簡(jiǎn)介

簡(jiǎn)介

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

特點(diǎn)

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

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

MongoDB是一個(gè)開源的NoSQL文檔數(shù)據(jù)庫(kù),它使用一個(gè)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文件):

?
1
2
3
4
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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();
    // ...
  }
}

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

?
1
2
spring.data.mongodb.host=mongoserver
spring.data.mongodb.port=27017

注意:如果沒有指定spring.data.mongodb.port,那將使用默認(rèn)的端口27017。可以簡(jiǎn)單的從上面的示例中刪除這一行。如果不使用Spring Data Mongo,可以注入com.mongodb.Mongo beans而不是使用MongoDbFactory。如果想全面控制MongoDB連接的建立,也可以聲明自己的MongoDbFactory或Mongo,@Beans。

MongoDBTemplate

Spring Data Mongo提供了一個(gè)MongoTemplate類,它的設(shè)計(jì)和Spring的JdbcTemplate很相似。正如JdbcTemplate一樣,Spring Boot會(huì)自動(dòng)配置一個(gè)bean,你只需簡(jiǎn)單的注入它即可:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
  }
  // ...
}

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

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

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

多個(gè)IP集群采用以下配置:

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

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

?
1
2
3
4
5
6
public class UserInfo implements Serializable {
  private Long id;
  private String userName;
  private String passWord;
  //getter、setter省略
}

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@Component
public class UserInfoDaoImpl implements UserInfoDao {// UserInfoDao 自定義接口
  @Autowired
  private MongoTemplate mongoTemplate;
  /**
   * 創(chuàng)建對(duì)象
   * @param user
   */
  @Override
  public void saveUser(UserInfo user) {
    mongoTemplate.save(user);
  }
  /**
   * 根據(jù)用戶名查詢對(duì)象
   * @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;
  }
  /**
   * 更新對(duì)象
   * @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);
  }
  /**
   * 刪除對(duì)象
   * @param id
   */
  @Override
  public void deleteUserById(Long id) {
    Query query=new Query(Criteria.where("id").is(id));
    mongoTemplate.remove(query,UserInfo.class);
  }
}

簡(jiǎn)單測(cè)試方法,具體代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@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驗(yàn)證數(shù)據(jù)

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

總結(jié)

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

原文鏈接:http://www.roncoo.com/article/detail/131303

延伸 · 閱讀

精彩推薦
  • MongoDB遷移sqlserver數(shù)據(jù)到MongoDb的方法

    遷移sqlserver數(shù)據(jù)到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數(shù)據(jù)到MongoDb的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下...

    聽楓xl9682021-01-03
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下 ...

    Yangyi.He6132020-05-07
  • MongoDBMongoDB 內(nèi)存使用情況分析

    MongoDB 內(nèi)存使用情況分析

    都說 MongoDB 是個(gè)內(nèi)存大戶,但是怎么知道它到底用了多少內(nèi)存呢...

    MongoDB教程網(wǎng)10002020-09-29
  • MongoDB分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問題

    分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問題

    這篇文章主要介紹了分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋...

    Linux-18743072020-12-20
  • MongoDBmongodb基本命令實(shí)例小結(jié)

    mongodb基本命令實(shí)例小結(jié)

    這篇文章主要介紹了mongodb基本命令,結(jié)合實(shí)例形式總結(jié)分析了MongoDB數(shù)據(jù)庫(kù)切換、查看、刪除、查詢等基本命令用法與操作注意事項(xiàng),需要的朋友可以參考下...

    dawn-liu3652020-05-26
  • MongoDBMongoDB憑什么躋身數(shù)據(jù)庫(kù)排行前五

    MongoDB憑什么躋身數(shù)據(jù)庫(kù)排行前五

    MongoDB以比去年同期超出65.96分的成績(jī)繼續(xù)雄踞榜單前五,這個(gè)增幅在全榜僅次于PostgreSQL的77.99,而其相對(duì)于4月份的6.10分的增長(zhǎng)也是僅次于微軟SQL Server排名...

    孫浩峰3892020-05-22
  • MongoDBMongoDB中javascript腳本編程簡(jiǎn)介和入門實(shí)例

    MongoDB中javascript腳本編程簡(jiǎn)介和入門實(shí)例

    作為一個(gè)數(shù)據(jù)庫(kù),MongoDB有一個(gè)很大的優(yōu)勢(shì)——它使用js管理數(shù)據(jù)庫(kù),所以也能夠使用js腳本進(jìn)行復(fù)雜的管理——這種方法非常靈活 ...

    MongoDB教程網(wǎng)6982020-04-24
  • MongoDBMongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程

    Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程

    這篇文章主要給大家介紹了Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面...

    chenjsh364522020-05-13
主站蜘蛛池模板: 日韩免费在线 | 久久天堂电影 | 日韩精品久久久久 | 国产一级一级特黄女人精品毛片 | av久草| 午夜寂寞影视在线观看 | 日本狠狠色 | 久久精品这里有 | 欧美 日韩 中文 | 欧美精品成人一区二区三区四区 | av集中淫 | 久久国产欧美日韩精品 | 日韩一区二区在线电影 | 亚州av一区| 亚洲精品久久久久一区二区三区 | 久久精品国产v日韩v亚洲 | 久久亚洲综合 | 欧美视频在线一区 | 在线观看视频91 | 国产精品免费一区 | 亚洲成人精品一区 | 中文字幕av在线播放 | 精品国产精品三级精品av网址 | 亚洲精品一区二区三区蜜桃久 | 欧美在线不卡 | 欧美一级免费 | 在线成年人电影 | 黄色在线观看视频网站 | 国产精品尤物在线观看 | 成人精品一区 | 这里只是精品 | 无码一区二区三区视频 | 亚洲一区二区免费看 | 黄色小视频在线观看 | av在线电影观看 | 久久综合久久久 | 欧美一区二区三区 | 久久久99精品免费观看 | 精品久草 | 欧美日韩一区二区在线播放 | 91电影国产 |