Integrasi Java dengan MongoDB


MongoDB

MongoDB

Pada artikel sebelumnya saya telah menjelaskan tentang cara instalasi dan penggunaan MongoDB, namun penggunaannya masih menggunakan fasilitas MongoDB client yang ada dalam MongoDB. Dalam kenyataannya, saat kita membangun sistem, selain menggunakan MongoDB, maka otomatis harus ada sistem yang lain, misal website atau desktop yang dibangun menggunakan bahasa pemrograman seperti Java atau PHP. Pada Artikel ini saya akan bahas tentang cara integrasi Java dengan MongoDB, diharapkan dari artikel ini, Anda dapat mengerti bagaimana cara mengolah dokumen di MongoDB dari Java.

Instalasi Driver

Sama seperti Java Database Connectivity, untuk mengakses MongoDB dari Java, maka kita perlu menggunakan Driver. Driver MongoDB untuk Java, kita dapat mengunduhnya disini http://github.com/mongodb/mongo-java-driver/downloads, unduh berkas jar yang ada pada website tersebut.

Setelah mengunduh berkas jar Driver-nya, masukkan berkas jar tersebut ke project Java yang sedang kita gunakan. Cara menambahkan berkas jar ke project berbeda-beda setiap IDE (Integrated Development Environtment), jadi sesuaikan dengan IDE yang Anda gunakan.

Membuat Koneksi

Jika Driver telah terinstall ke dalam project Java yang kita gunakan, hal pertama yang perlu dilakukan adalah dengan cara membuat koneksi ke MongoDB. Untuk membuat koneksi ke MongoDB, kita dapat menggunakan kelas com.mongodb.Mongo. Jika kita menggunakan MongoDB yang ada dalam satu komputer dengan project Java yang kita gunakan, maka kita dapat langsung membuat objek kelas com.mongodb.Mongo tanpa menggunakan parameter, tapi jika kita menggunakan MongoDB di komputer yang berlainan, maka kita perlu menyisipkan parameter "host:port" pada saat membuat objek kelas com.mongodb.Mongo.

import com.mongodb.Mongo;
...
Mongo mongo = new Mongo(); // atau new Mongo("host:port");

Mengakses Database dan Collection

Setelah membuat koneksi ke MongoDB, maka hal yang perlu dilakukan selanjutnya adalah mengakses database yang akan digunakan. Database yang ada pada MongoDB direpresentasikan dengan kelas com.mongodb.DB. Dan untuk mengakses Database pada MongoDB, kita dapat menggunakan metode getDB(String namaDb) milik kelas com.mongodb.Mongo.

import com.mongodb.Mongo;
import com.mongodb.DB;
...
Mongo mongo = new Mongo();
DB db = mongo.getDb("akademik");

Setelah mengakses Database, maka kita perlu mengakses Collection dulu untuk melakukan proses manipulasi data. Collection yang ada pada MongoDB direpresentasikan dengan kelas com.mongodb.DBCollection. Dan untuk mengakses Collection pada MongoDB, kita dapat menggunakan metode getCollection(String namaCollection) milik kelas com.mongodb.DB.

import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
...
Mongo mongo = new Mongo();
DB db = mongo.getDb("akademik");
DBCollection collection = db.getCollection("mahasiswa");

Dokumen yang terdapat dalam MongoDB direpresentasikan dengan interface com.mongodb.DBObject, namun karena itu adalah sebuah interface, maka kita tidak dapat langsung menggunakannya. Namun kita tidak perlu membuat kelas sendiri dengan mengimplementasikan interface com.mongodb.DBObject, kita dapat langsung menggunakan kelas com.mongodb.BasicDBObject.

Menambah Dokumen ke Collection

Untuk menambah dokumen ke dalam Collection yang ada pada MongoDB, kita dapat menggunakan metode insert(DBObject object) milik kelas com.mongodb.DBCollection. Misal jika kita akan menambahkan dokumen mahasiswa, kita dapat menggunakan kode seperti dibawah ini :

import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
...
Mongo mongo = new Mongo();
DB db = mongo.getDb("akademik");
DBCollection collection = db.getCollection("mahasiswa");

BasicDBObject object = new BasicDBObject();
object.put("nim", "10106031");
object.put("nama", "Eko Kurniawan Khannedy");

collection.insert(object);

Mengambil Dokumen dari Collection

Untuk mengetahui apakah dokumen yang kita masukkan ke dalam Collection telah masuk, maka kita perlu menampilkan seluruh dokumen yang ada. Untuk mengambil seluruh dokumen yang ada dalam Collection, kita dapat menggunakan metode find() milik kelas com.mongodb.DBCollection. Hasil dari metode find() adalah com.mongodb.DBCursor, kelas com.mongodb.DBCursor ini mirip seperti Iterator, kita dapat menelusurinya satu per satu.

import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCursor;
import java.util.ArrayList;
...
Mongo mongo = new Mongo();
DB db = mongo.getDb("akademik");
DBCollection collection = db.getCollection("mahasiswa");

ArrayList list = new ArrayList();

DBCursor cursor = collection.find();
while (cursor.hasNext()) {
   DBObject object = find.next();
   list.add(object);
}

Mengubah Dokumen di Collection

Kadang memang kita perlu mengubah data yang sudah ada dengan data yang baru, misal seorang mahasiswa bisa saja mengganti tempat tinggalnya dengan tempat alamat yang baru dan lain-lain. Untuk mengubah dokumen yang ada di Collection, maka kita dapat menggunakan metode update(DBObject kriteria, DBObject dokumenbaru) milik kelas com.mongodb.DBCOllection.

import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
...
Mongo mongo = new Mongo();
DB db = mongo.getDb("akademik");
DBCollection collection = db.getCollection("mahasiswa");

BasicDBObject kriteria = new BasicDBObject();
kriteria.put("nim", "10106031");

BasicDBObject object = new BasicDBObject();
object.put("nim", "10106031");
object.put("nama", "Eko Kurniawan Khannedy");

collection.update(kriteria, object);

Menghapus Dokumen dari Collection

Terakhir adalah, bagaimana cara menghapus dokumen dari Collection? Untuk menghapus dokumen dari Collection, kita dapat menggunakan metode remove(DBObject kriteria) milik kelas com.mongodb.DBCollection.

import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
...
Mongo mongo = new Mongo();
DB db = mongo.getDb("akademik");
DBCollection collection = db.getCollection("mahasiswa");

BasicDBObject kriteria = new BasicDBObject();
kriteria.put("nim", "10106031");

collection.remove(kriteria);

Menutup Koneksi

Saat sistem yang kita bangun dimatikan, maka otomatis kita juga perlu menutup koneksi ke MongoDB, dan untuk menutup koneksi ke MongoDB, kita dapat menggunakan metode close() milik kelas com.mongodb.Mongo.

Iklan

3 pemikiran pada “Integrasi Java dengan MongoDB

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s