MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Spring Boot menghubungkan Mysql dan MongoDb

Hal ini dimungkinkan untuk melakukan ini. Anda harus membuat konfigurasi yang berbeda untuk sumber data yang berbeda. Tautan ini memiliki contoh bagus tentang ituhttp://www.baeldung.com/spring-data-jpa-multiple-databases

Pertanyaan stackoverflow berguna lainnya:Spring Boot Configure and Use Two DataSources

Untuk memulai mongo dan mysql , Anda dapat mengikuti contoh dari panduan spring.io.

https://spring.io/guides/gs/accessing-data-mongodb/

https://spring.io/guides/gs/accessing-data-mysql/

EDIT :

Saya telah membuat satu contoh ini, menggabungkan dua contoh di atas

package hello;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;

import hello.model.Customer;
import hello.model.User;
import hello.mongodao.CustomerRepository;
import hello.mysqldao.UserRepository;

@EnableMongoRepositories(basePackageClasses = CustomerRepository.class)
@EnableJpaRepositories (basePackageClasses = UserRepository.class)
@SpringBootApplication
public class Application implements CommandLineRunner {

    @Autowired
    private CustomerRepository repository;

    @Autowired
    private UserRepository userRepository;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    @Override
    public void run(String... args) throws Exception {

        System.out.println("getting data from Mongo");
        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);
        }

        System.out.println("gettting data from mysql");
        userRepository.deleteAll();

        // save a couple of customers
        userRepository.save(new User("Alice", "[email protected]"));
        userRepository.save(new User("Bob", "[email protected]"));

        // fetch all customers
        System.out.println("Users found with findAll():");
        System.out.println("-------------------------------");

        for (User user : userRepository.findAll()) {
            System.out.println(user);
        }

    }
}

CustomerRepository.java

package hello.mongodao;

import java.util.List;

import org.springframework.data.mongodb.repository.MongoRepository;

import hello.model.Customer;

public interface CustomerRepository extends MongoRepository<Customer, String> {

    public Customer findByFirstName(String firstName);
    public List<Customer> findByLastName(String lastName);

}

UserRepository.java

package hello.mysqldao;

import org.springframework.data.repository.CrudRepository;

import hello.model.User;

// This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository
// CRUD refers Create, Read, Update, Delete

public interface UserRepository extends CrudRepository<User, Long> {

}

Pelanggan.java

package hello.model;

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);
    }

}

Pengguna.java

package hello.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity // This tells Hibernate to make a table out of this class
public class User {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    private String name;

    private String email;
public User() {
    // TODO Auto-generated constructor stub
}
    public User(String string, String string2) {
        // TODO Auto-generated constructor stub
        name = string;
        email = string2;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return String.format(
                "User[id=%s, name='%s', email='%s']",
                id, name, email);
    }


}

application.properties

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
spring.data.mongodb.uri=mongodb://localhost:27017/local


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dorong ke dua larik terpisah dalam satu panggilan pembaruan di mongodb

  2. Bagaimana cara mendengarkan perubahan pada koleksi MongoDB?

  3. mongodb ketik ubah ke array

  4. jenis agregasi mongodb

  5. Bagaimana cara mendapatkan kembali nilai baru setelah pembaruan dalam array yang disematkan?