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

Spring-data-mongodb terhubung ke beberapa database dalam satu instance Mongo

Berikut ini tautan ke artikel yang menurut saya adalah yang Anda cari http://michaelbarnesjr.wordpress.com/2012/01/19/spring-data-mongo/

Kuncinya adalah menyediakan banyak template

mengkonfigurasi template untuk setiap database.

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

mengkonfigurasi template untuk setiap database.

<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>

Sekarang, Anda perlu memberi tahu Spring di mana repositori Anda berada sehingga dapat menyuntikkannya. Mereka semua harus berada di direktori yang sama. Saya mencoba memilikinya di sub-direktori yang berbeda, dan itu tidak berfungsi dengan benar. Jadi semuanya ada di direktori repositori.

<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>

Setiap repositori adalah Antarmuka dan ditulis sebagai berikut (ya, Anda dapat mengosongkannya):

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

}

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

}

Nama variabel pribadi imageRepository adalah koleksinya! Image.java akan disimpan ke koleksi gambar dalam database imagedb.

Inilah cara Anda menemukan , masukkan , dan hapus catatan:

@Service
public class ImageService {

    @Autowired
    private ImageRepository imageRepository;
}

Dengan Autowiring, Anda mencocokkan nama variabel dengan nama (id) dalam konfigurasi Anda.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memantau &Mengamankan MongoDB dengan ClusterControl Advisors

  2. Kesalahan kueri Mongodb Pilih Bersarang

  3. Nodejs Mongoose - bagaimana cara menghindari panggilan balik?

  4. Tidak dapat membuat direktori MongoDB /data/db di macOS Catalina

  5. Saat membuat pengguna admin pertama di klaster mongdb mendapatkan kesalahan tidak dapat menambahkan pengguna:tidak diizinkan pada admin untuk menjalankan perintah