MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Spring-data-mongodb łączy się z wieloma bazami danych w jednej instancji Mongo

Oto link do artykułu, który moim zdaniem jest tym, czego szukasz http://michaelbarnesjr.wordpress.com/2012/01/19/spring-data-mongo/

Kluczem jest dostarczenie wielu szablonów

skonfiguruj szablon dla każdej bazy danych.

<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongoConnection"/>
    <constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>

skonfiguruj szablon dla każdej bazy danych.

<bean id="imageTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
        <constructor-arg ref="mongoConnection"/>
        <constructor-arg name="databaseName" value="imagedatabase"/>
</bean>

<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongoConnection"/>
    <constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>

Teraz musisz powiedzieć Springowi, gdzie są twoje repozytoria, aby mógł je wstrzyknąć. Wszystkie muszą znajdować się w tym samym katalogu. Próbowałem mieć je w różnych podkatalogach i nie działało to poprawnie. Więc wszystkie są w katalogu repozytorium.

<mongo:repositories base-package="my.package.repository">
    <mongo:repository id="imageRepository" mongo-template-ref="imageTemplate"/>
    <mongo:repository id="carRepository" mongo-template-ref="vehicleTemplate"/>
    <mongo:repository id="truckRepository" mongo-template-ref="vehicleTemplate"/>
</mongo:repositories>

Każde repozytorium jest interfejsem i jest napisane w następujący sposób (tak, możesz pozostawić je puste):

@Repository
public interface ImageRepository extends MongoRepository<Image, String> {

}

@Repository
public interface TruckRepository extends MongoRepository<Truck, String> {

}

Nazwa zmiennej prywatnej imageRepository jest kolekcja! Obraz.java zostanie zapisany w kolekcji obrazów w bazie danych obrazu.

Oto jak możesz znaleźć , wstaw i usuń rekordy:

@Service
public class ImageService {

    @Autowired
    private ImageRepository imageRepository;
}

Poprzez Autowiring dopasowujesz nazwę zmiennej do nazwy (id) w Twojej konfiguracji.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zdalnie połączyć się z MongoDB na moim serwerze za pomocą java?

  2. sterownik c# mongodb jak rzutować podwójną wartość mongo na wartość dziesiętną c#?

  3. MongoDB Pokaż bieżącego użytkownika

  4. Jak filtrować tablicę poddokumentów?

  5. wstawianie pozycji na liście w dokumencie mongodb