激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - 詳解springboot整合mongodb

詳解springboot整合mongodb

2020-09-24 15:46方志朋 Java教程

本篇文章主要介紹了詳解springboot整合mongodb,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

這篇文章主要介紹springboot如何整合MongoDB。

準(zhǔn)備工作

  1. 安裝 MongoDB
  2. jdk 1.8
  3. maven 3.0
  4. idea

環(huán)境依賴

在pom文件引入spring-boot-starter-data-mongodb依賴:

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

數(shù)據(jù)源配置

如果mongodb端口是默認(rèn)端口,并且沒(méi)有設(shè)置密碼,可不配置,sprinboot會(huì)開(kāi)啟默認(rèn)的。

?
1
spring.data.mongodb.uri=mongodb://localhost:27017/springboot-db

mongodb設(shè)置了密碼,這樣配置:

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

定義一個(gè)簡(jiǎn)單的實(shí)體

mongodb

?
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
package com.forezp.entity;
 
import org.springframework.data.annotation.Id;
 
 
public class Customer {
 
  @Id
  public String id;
 
  public String firstName;
  public String lastName;
 
  public Customer() {}
 
  public Customer(String firstName, String lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
  }
 
  @Override
  public String toString() {
    return String.format(
        "Customer[id=%s, firstName='%s', lastName='%s']",
        id, firstName, lastName);
  }
 
}

數(shù)據(jù)操作dao層

?
1
2
3
4
5
6
public interface CustomerRepository extends MongoRepository<Customer, String> {
 
  public Customer findByFirstName(String firstName);
  public List<Customer> findByLastName(String lastName);
 
}

寫(xiě)一個(gè)接口,繼承MongoRepository,這個(gè)接口有了幾本的CURD的功能。如果你想自定義一些查詢,比如根據(jù)firstName來(lái)查詢,獲取根據(jù)lastName來(lái)查詢,只需要定義一個(gè)方法即可。注意firstName嚴(yán)格按照存入的mongodb的字段對(duì)應(yīng)。在典型的Java的應(yīng)用程序,寫(xiě)這樣一個(gè)接口的方法,需要自己實(shí)現(xiàn),但是在springboot中,你只需要按照格式寫(xiě)一個(gè)接口名和對(duì)應(yīng)的參數(shù)就可以了,因?yàn)閟pringboot已經(jīng)幫你實(shí)現(xià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
32
33
34
35
36
37
38
39
@SpringBootApplication
public class SpringbootMongodbApplication implements CommandLineRunner {
 
 
  @Autowired
  private CustomerRepository repository;
 
  public static void main(String[] args) {
    SpringApplication.run(SpringbootMongodbApplication.class, args);
  }
 
 
  @Override
  public void run(String... args) throws Exception {
    repository.deleteAll();
 
    // save a couple of customers
    repository.save(new Customer("Alice", "Smith"));
    repository.save(new Customer("Bob", "Smith"));
 
    // fetch all customers
    System.out.println("Customers found with findAll():");
    System.out.println("-------------------------------");
    for (Customer customer : repository.findAll()) {
      System.out.println(customer);
    }
    System.out.println();
 
    // fetch an individual customer
    System.out.println("Customer found with findByFirstName('Alice'):");
    System.out.println("--------------------------------");
    System.out.println(repository.findByFirstName("Alice"));
 
    System.out.println("Customers found with findByLastName('Smith'):");
    System.out.println("--------------------------------");
    for (Customer customer : repository.findByLastName("Smith")) {
      System.out.println(customer);
    }
  }

在springboot的應(yīng)用程序,加入測(cè)試代碼。啟動(dòng)程序,控制臺(tái)打印了:

?
1
2
3
4
5
6
7
8
9
10
11
Customers found with findAll():
——————————-
Customer[id=58f880f589ffb696b8a6077e, firstName='Alice', lastName='Smith']
Customer[id=58f880f589ffb696b8a6077f, firstName='Bob', lastName='Smith']
Customer found with findByFirstName(‘Alice'):
——————————–
Customer[id=58f880f589ffb696b8a6077e, firstName='Alice', lastName='Smith']
Customers found with findByLastName(‘Smith'):
——————————–
Customer[id=58f880f589ffb696b8a6077e, firstName='Alice', lastName='Smith']
Customer[id=58f880f589ffb696b8a6077f, firstName='Bob', lastName='Smith']

測(cè)試通過(guò)。

源碼下載:https://github.com/forezp/SpringBootLearning

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/forezp/article/details/70941577

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久成人视屏 | 九九热在线精品视频 | 一区二区三区精品国产 | 成年片在线观看 | 国产一区二区三区撒尿在线 | 新久久久久久 | 蜜桃传免费看片www 一本色道精品久久一区二区三区 | 成人免费影院 | 国产成人观看 | 国产三级国产精品国产普男人 | 美女亚洲综合 | 亚洲成人久久精品 | 3级毛片| 欧美成人福利 | 在线 日本 制服 中文 欧美 | 久久久久久久黄色片 | 久久久久久久久久久亚洲 | 精品国产91一区二区三区 | 久久区二区 | 日本羞羞的午夜电视剧 | 在线看三级 | 国产一区二区免费在线观看 | 91短视频网页版 | 亚洲精品tv久久久久久久久久 | 黄色网址进入 | 亚洲成人久久精品 | 亚洲欧美国产高清va在线播放 | 久久www视频 | 亚洲精品aa | 黄色av.com | 青青草最新网址 | 亚洲成人在线免费观看 | 成人在线观看免费视频 | 成年人网站国产 | 国产一区视频在线免费观看 | 日韩视频在线一区二区三区 | 久久艳片| 国产精品一区自拍 | 精品国产乱码久久久久久丨区2区 | 视频一区二区三区中文字幕 | 97人人草 |