Hari baik untuk semua!
Aliran baru
"Pengembang di Kerangka Kerja Musim Semi" dimulai, "tiba-tiba", kursus ini ternyata sangat populer di kalangan siswa baru dan mereka yang telah belajar dari kami di Jawa dan perusahaan "reguler". Jadi jika itu menarik, datanglah ke kami untuk
pelajaran terbuka , dan, tentu saja, bagikan materi yang menarik tentang topik tersebut.
Pegas Terjemahan Terjemahan Tutorial MongoDB
Diposting oleh Anand KumarAyo pergi!
Di dunia sekarang ini, sangat penting untuk membuat dan menjalankan aplikasi sesegera mungkin. Selain itu, aplikasi harus mudah dikembangkan dan mudah dirawat.
Spring hanyalah kerangka kerja yang memberikan kemudahan integrasi dengan banyak kerangka kerja lain yang berbeda, yang menyederhanakan pengembangan aplikasi menggunakan Spring. Salah satu integrasi tersebut adalah integrasi Spring dengan MongoDB.
1. Pendahuluan Dalam pelajaran ini, kita akan membahas kombinasi kerangka Java Spring paling terkenal dan sistem manajemen basis data (DBMS) MongoDB yang paling terkenal. MongoDB adalah DBMS NoSQL berorientasi dokumen yang menyimpan data dalam format seperti JSON.
Spring Data dan integrasi MongoDB disediakan oleh Spring untuk memfasilitasi interaksi baik kenyamanan dan pengembang, menghilangkan kebutuhan untuk menulis banyak pertanyaan untuk memasukkan, memperbarui, dan menghapus.
Berikut ini adalah beberapa fitur yang disediakan oleh proyek Spring Data MongoDB:
- Spring Data memungkinkan Anda untuk menggunakan kelas @Configuration dan konfigurasi XML.
- Hierarki pengecualian Akses Data digunakan untuk menerjemahkan pengecualian.
- Pemetaan terintegrasi antara POJOs Java dan dokumen MongoDB.
- Kelas MongoTemplate, yang menyederhanakan penggunaan operasi MongoDB umum.
- Selain MongoTemplate, Anda bisa menggunakan kelas MongoReader dan MongoWriter untuk rendering tingkat rendah.
Cara terbaik untuk memahami teknologi apa pun adalah dengan menggunakannya dalam praktik, dan itulah yang akan kita lakukan sekarang.
Mari kita buat program sederhana untuk mempelajari lebih lanjut tentang Spring Data MongoDB.
2. Teknologi dan alatMari kita lihat teknologi dan alat yang akan kita gunakan untuk membuat program.
- Eclispe Oxygen.2 Rilis (4.7.2)
- Java - versi 9.0.4
- Gradle - 4.6
- Server MongoDB - 3.6
- MongoCompass - 3.6
- SpringDataMongoDB - 2.0.5-RELEASE
3. Struktur proyekStruktur proyek kami akan terlihat seperti yang ditunjukkan di bawah ini.
Struktur Proyek untuk Data Musim Semi MongoDBProyek gradle akan memiliki struktur yang ditunjukkan di atas. Dalam kasus pom.xml, struktur proyek akan sedikit berbeda.
4. ProgramSebagai bagian dari program ini, kami akan mencoba menyelesaikan tugas di bawah ini.
- Menyimpan Objek di MongoDB
- Memperbarui objek di MongoDB
- Menghapus objek dari MongoDB
- Mengambil Semua Objek dari MongoDB
Sekarang mari kita menganalisis semua komponen program. Pertama-tama, kita akan mulai dengan dependensi dan file jar yang diperlukan untuk program ini.
4.1 gradleKami menggunakan Gradle untuk membangun sebagai bagian dari program. File
build.gradle
akan terlihat seperti yang ditunjukkan di bawah ini.
apply plugin: 'java' repositories { mavenCentral() } dependencies { compile group: 'org.springframework.data', name: 'spring-data-mongodb', version: '2.0.5.RELEASE' implementation 'com.google.guava:guava:23.0' testImplementation 'junit:junit:4.12' }
Di file
build.gradle
, baris
apply plugin: 'java'
memberi tahu plug-in mana yang harus dipasang. Dalam kasus kami, ini adalah plugin Java.
Tag
repositories{}
melaporkan repositori dari mana dependensi harus ditarik. Kami memilih
mavenCentral
untuk menarik file jar yang tergantung. Kita juga bisa menggunakan jcenter untuk menarik file jar yang terkait.
Tag
dependencies {}
digunakan untuk menyediakan data yang diperlukan tentang file jar yang perlu ditarik untuk proyek.
4.2 Konfigurasi untuk MongoDBUntuk menggunakan konfigurasi MongoDB, kita perlu mengimplementasikan kelas
AbstractMongoConfiguration
. Kelas
MongoConfig.java
akan terlihat seperti yang ditunjukkan di bawah ini. Di sini kami menggunakan anotasi, bukan xml. Tetapi XML juga dapat digunakan untuk mengkonfigurasi konfigurasi.
Implementasi kelas MongoConfig.java
package com.tutorial.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.config.AbstractMongoConfiguration; import com.mongodb.MongoClient; @Configuration public class MongoConfig extends AbstractMongoConfiguration { @Override public String getDatabaseName() { return "local"; } @Override @Bean public MongoClient mongoClient() { return new MongoClient("127.0.0.1"); } }
@Configuration
digunakan untuk mendefinisikan kelas
MongoConfig.java
sebagai kelas konfigurasi.
@Bean
mendefinisikan
MongoClient
.
4.3 Kelas modelSekarang perhatikan kelas model. Kami menggunakan
student.java
sebagai kelas model yang berisi atribut untuk Siswa, seperti Nama dan Usia. Kelas model
Student.java
digunakan untuk memetakan POJO ke koleksi MongoDB.
Kelas Model Siswa
package com.tutorial.model; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "students") public class Student { public Student(String studentName, int studentAge) { this.studentName = studentName; this.studentAge = studentAge; } @Id private String id; String studentName; int studentAge; public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public int getStudentAge() { return studentAge; } public void setStudentAge(int studentAge) { this.studentAge = studentAge; } @Override public String toString() { return String.format( "Student[id=%s, studentName='%s', studentAge="+studentAge+"]", id, studentName); } }
@Document
mendefinisikan dokumen. Properti
collection
menentukan koleksi yang akan digunakan untuk mencocokkan koleksi. Semua atribut yang disebut sebagai bagian dari koleksi harus dapat diakses di kelas POJO.
@Id
mendefinisikan pengidentifikasi koleksi.
4.4 Operasi CRUDUntuk melakukan operasi CRUD (kependekan untuk membuat, membaca, memperbarui, menghapus), seperti menyimpan, memperbarui, menghapus, dan mengambil data dari MongoDB, kami akan menggunakan
MongoOperations
.
Sekarang mari kita lihat kelas
MongoDBPOperations.java
. Kelas ini berisi implementasi semua metode operasi CRUD.
Kelas MongoDBPOperations yang akan digunakan untuk melakukan operasi CRUD
package com.tutorial; import java.util.List; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import com.tutorial.model.Student; public class MongoDBPOperations { public void saveStudent(MongoOperations mongoOperation, Student student) { mongoOperation.save(student); System.out.println("Student saved successfully");
Kelas yang paling penting dari program Java adalah kelas yang berisi metode
main
.
4.5 Kelas AplikasiKelas utama yang berisi metode utama adalah kelas
Application.java
. Kami akan menggunakan kelas ini untuk memanggil metode dari kelas
MongoDBPOperations
.
Kelas aplikasi untuk memanggil metode kelas MongoDBPOperations
package com.tutorial; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.data.mongodb.core.MongoOperations; import com.tutorial.config.MongoConfig; import com.tutorial.model.Student; public class Application { public static void main (String[] args) {
Mari kita lihat langkah demi langkah pada operasi yang dilakukan di kelas
Application.java
:
- Kami membuat
ApplicationContext
. Ini karena perlunya mengunduh konfigurasi. - Selain itu, objek
MongoOperations
untuk memuat komponen MongoTemplate
. - Objek
MongoDBOperations
menyediakan akses ke metode untuk melakukan berbagai operasi MongoOperation
. - Selain itu, objek Siswa dibuat dengan nama John dan usia 15.
- Kami memanggil metode
saveMethod
dari kelas saveMethod
, dan meneruskan parameter yang diperlukan untuk menyimpan objek dalam database. - Dengan cara yang sama, kami memanggil berbagai metode
MongoDBOperations
satu per satu.
4.6 Memulai programAkhirnya, sekarang mari kita jalankan program sebagai aplikasi Java. Klik kanan pada Application.java -> Run as -> Java Application.
Hasil berikut akan muncul di konsol.
Keluaran konsol setelah memulai programSekarang mari kita komentari perintah untuk menghapus objek. MongoDB akan berhasil menyimpan data.
Juga, mari kita komentari baris untuk menghapus objek, seperti yang ditunjukkan di bawah ini.
Aplikasi kelas setelah mengomentari metode penghapusan
package com.tutorial; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.data.mongodb.core.MongoOperations; import com.tutorial.config.MongoConfig; import com.tutorial.model.Student; public class Application { public static void main (String[] args) {
Setelah membuat perubahan pada program, mari kita mulai kembali. Berikut ini muncul di konsol.
Konsol saat operasi penghapusan dikomentariSebagai hasil dari mengomentari perintah delete, MongoDB akan menyimpan data dan karenanya akan terlihat seperti yang ditunjukkan di bawah ini.
Output MongoDB setelah perintah simpan dan perbarui5. Unduh proyek EclipseAnda dapat mengunduh seluruh kode sumber untuk contoh ini di
sini.AKHIR
Seperti biasa, kami menunggu pertanyaan dan komentar di sini atau pergi ke
Yuri untuk
pelajaran terbuka di mana Anda tidak hanya dapat mendengarkan, tetapi juga bertanya-tanya.