Rumah > Java > javaTutorial > teks badan

Menggunakan MongoDB untuk melaksanakan penyimpanan dokumen dan pertanyaan dalam Spring Boot

WBOY
Lepaskan: 2023-06-23 10:18:30
asal
1475 orang telah melayarinya

Spring Boot ialah rangka kerja pembangunan pesat untuk aplikasi web peringkat perusahaan moden, manakala MongoDB ialah pangkalan data dokumen yang sangat popular. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan penyimpanan dan pertanyaan dokumen menggunakan Spring Boot dan MongoDB.

Langkah 1: Pasang MongoDB

Sebelum anda mula menggunakan MongoDB, anda perlu memasang pangkalan data MongoDB. Laman web rasmi menyediakan versi untuk pelbagai sistem pengendalian untuk anda muat turun. Selepas muat turun selesai, ikut arahan wizard pemasangan untuk memasangnya.

Langkah 2: Buat projek Spring Boot

Seterusnya, kita perlu mencipta projek Spring Boot. Apabila menggunakan rangka kerja Spring Boot, kami menganggap bahawa anda telah memasangnya dan mempunyai sedikit pemahaman tentangnya. Di sini kami mencipta projek baharu menggunakan Spring Initializr.

Apabila membuat projek anda, anda perlu menambah kebergantungan Spring Web Starter dan Spring Data MongoDB Starter. Ia adalah kebergantungan biasa untuk aplikasi web dan penyimpanan data MongoDB masing-masing.

Langkah 3: Konfigurasikan MongoDB

Selepas projek dibuat, kita perlu mengkonfigurasi MongoDB. Dalam fail application.properties, anda perlu menambah sifat berikut:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=test
Salin selepas log masuk

Kod di atas mentakrifkan nama hos dan port pelayan MongoDB, serta nama pangkalan data.

Langkah 4: Buat model data

Dalam Spring Boot, kita boleh menggunakan objek MongoTemplate untuk melaksanakan operasi pangkalan data. Sebelum melakukan apa-apa, kita perlu menentukan model data mudah.

@Document(collection = "users")
public class User {

    @Id
    private String id;
    private String name;
    private int age;
    
    // getters and setters
    
}
Salin selepas log masuk

Di sini, kami mentakrifkan model data yang dipanggil Pengguna. Anotasi @Document mentakrifkan koleksi mana dalam MongoDB model data ini akan disimpan. Anotasi @Id menunjukkan bahawa dalam MongoDB, atribut ini akan digunakan sebagai kunci utama dokumen.

Langkah 5: Buat Repositori

Sekarang, kita perlu mencipta repositori untuk mengendalikan operasi CRUD asas. Dalam Spring Boot, kami boleh menggunakan Spring Data MongoDB untuk mengendalikan operasi ini. Untuk mencipta repositori, anda perlu mencipta antara muka dan melanjutkan MongoRepository:

@Repository
public interface UserRepository extends MongoRepository<User, String> {

}
Salin selepas log masuk

Di sini, kami telah menentukan antara muka yang dipanggil UserRepository. Dengan memperluaskan MongoRepository, kami boleh mewarisi operasi CRUD MongoDB.

Langkah 6: Gunakan MongoTemplate untuk melaksanakan pertanyaan lanjutan

Seterusnya, kami akan memperkenalkan cara menggunakan objek MongoTemplate untuk melaksanakan operasi pertanyaan lanjutan. MongoTemplate menyediakan banyak kaedah berguna untuk membantu anda mencari dokumen.

Sebagai contoh, untuk mencari semua pengguna bernama Alice, anda boleh menggunakan kod berikut:

Query query = new Query();
query.addCriteria(Criteria.where("name").is("Alice"));
List<User> users = mongoTemplate.find(query, User.class);
Salin selepas log masuk

Di sini, kami mencipta objek pertanyaan dan menggunakan kaedah Criteria.where() untuk menentukan Pertanyaan padang. Akhir sekali, kami menggunakan kaedah find() untuk melaksanakan pertanyaan.

Anda boleh menggunakan objek MongoTemplate untuk melaksanakan pelbagai jenis operasi pertanyaan, termasuk pengumpulan, pengagregatan, pengisihan dan pengehadan, dsb.

Langkah 7: Gunakan MongoDB GridFS untuk menyimpan dan mendapatkan semula fail

MongoDB juga menyediakan ciri yang dipanggil GridFS yang boleh digunakan untuk menyimpan dan mendapatkan semula fail yang lebih besar. GridFS membahagikan fail kepada ketulan dan menyimpannya dalam MongoDB dan menyediakan satu set kaedah untuk mendapatkan semula dan menggabungkan ketulan ini dengan mudah.

Dalam Spring Boot, anda boleh menggunakan Spring Data MongoDB untuk operasi GridFS. Untuk menggunakan GridFS, anda perlu mencipta objek GridFsTemplate. Berikut ialah coretan kod sampel:

@Autowired
private GridFsTemplate gridFsTemplate;

public String saveFile(InputStream inputStream, String fileName) {
    DBObject metaData = new BasicDBObject();
    metaData.put("fileName", fileName);
    ObjectId objectId = gridFsTemplate.store(inputStream, fileName, metaData);
    return objectId.toString();
}

public GridFSDBFile getFile(String fileId) {
    return gridFsTemplate.findOne(new Query(Criteria.where("_id").is(fileId)));
}
Salin selepas log masuk

Di sini, kami mula-mula menyuntik objek GridFsTemplate. Kaedah saveFile() menunjukkan cara menyimpan fail ke dalam MongoDB, dan kaedah getFile() menunjukkan cara untuk mendapatkan semula fail.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan Spring Boot dan MongoDB untuk melaksanakan penyimpanan dan pertanyaan dokumen. Dengan mencipta repositori dan menggunakan objek MongoTemplate, anda boleh melakukan pelbagai jenis operasi pangkalan data dengan mudah. Kami juga membincangkan cara menggunakan GridFS untuk menyimpan dan mendapatkan semula fail yang lebih besar. Dengan alatan ini, anda boleh membuat aplikasi kompleks dengan mudah dan menyimpan serta mendapatkan sebarang jenis data.

Atas ialah kandungan terperinci Menggunakan MongoDB untuk melaksanakan penyimpanan dokumen dan pertanyaan dalam Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!