Minggu, 09 Juni 2013

Pemrograman Java dengan MongoDB

Menyambung seri belajar MongoDB yang dulu dan melengkapi tutorial tentang JAVA dalam web ini. Kali ini kita akan belajar membuat program berbasis bahasa pemrograman JAVA dengan database MongoDB. Sebaiknya anda sudah membaca tutorial-tutorial sebelumnya tentang Apa itu MongoDB dan bagaimana Instalasinya (lihat pada Tulisan terkait dibawah post ini).

Yang perlu anda ingat dari MongoDB:
  • MongoDB secara otomatis akan membuatkan Database, Collection, Document, beserta field di dalamnya jika Anda belum pernah membuatnya. Dengan demikian Anda tidak perlu membuat batch SQL yang begitu panjang untuk persiapan membuat database.
  • Setiap document yang dibuat dalam MongoDB akan selalu memiliki index id yang unik. Hal ini secara global dapat mempercepat proses pencarian data.
  • MongoDB lebih mudah diimplementasikan dalam database berukuran besar yang terpisah dalam banyak server. Berbeda dengan RDBMS yang cukup sulit dalam melakukan konfigurasinya.
  • MongoDB tetap dapat membuat record yang berelasi terhadap record lainnya.

Instalasi MongoDB di Windows

  • Unduh file MongoDB dari http://www.mongodb.org/downloads/ pilih versi Windows,
  • Ekstrak file Zip tersebut pada direktori C:\ dan ubah namanyanya menjadi C:\mongodb
  • Buat direktori data untuk MongoDB di C:\data\db (harus seperti ini)
  • Jalankan daemon MongoDB mongod.exe yang berada di C:\mongodb\bin\

Pemrograman Aplikasi

  • Jalankan IDE anda (saya menggunakan Netbeans)
  • Unduh library MongoDB untuk Java di https://github.com/mongodb/mongo-java-driver/downloads
  • Pada project Java anda, klik kanan, pilih Properties -> Add Jar/Folder,
  • Pilih file Jar MongoDB yang anda unduh tadi, tekan OK
  • Pada source Main.Java atau class Java anda Importlah com.mongodb.* (sekalian biar mudah)
  • Definisikan object baru untuk layer database MongoDB


 
package latihanmongodb;
 
import com.mongodb.*;
 
public class LatihanMongoDB {
 
/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws MongoException {
 try {
 // TODO code application logic here
 Mongo mongo = new Mongo();
 
 } catch (Exception ex) {
 ex.printStackTrace();
 }
 
 }
}
Untuk select database dan tabel dalam MongoDB (atau istilah tepatnya collection), buat object baru sebagai object Collection dengan pola db.getCollection(nama_tabel),kemudian gunakan perintah getCollection(). Contoh:
DB db = mongo.getDB("akademik");
DBCollection collection = db.getCollection("mahasiswa");
Untuk insert record ke dalam collection/tabel MongoDB, buat dulu sebuah object yang merepresentasikan BasicDBObject() (khusus MongoDB), dan masukkan dengan fungsi nama_object_collection.insert(nama object);
BasicDBObject object = new BasicDBObject();
object.put("nim", "5301405005");
object.put("nama", "Luthfi Emka");
 
collection.insert(object);
Untuk select data/record, buat sebuah object baru dari ArrayList dan DBCursor mongodb, dan tampilkan dengan while nama_object_list.add(nama_object_basicdb), contoh:
ArrayList list = new ArrayList();
 
DBCursor cursor = collection.find();
while (cursor.hasNext()) {
   DBObject object = cursor.next();
   list.add(object);
}
Untuk mengupdate/mengubah sebuah record pada mongodb gunakan method update(), contoh:
 
BasicDBObject kriteria = new BasicDBObject();
kriteria.put("nim", "5301405005"); // cari data dengan nim = 5301405005

BasicDBObject object = new BasicDBObject();
object.put("nim", "530140500");
object.put("nama", "Luthfi Maslichul Kurniawan"); //diganti namanya

collection.update(kriteria, object); //eksekusi untuk mengupdate data
Untuk menghapus data pada suatu tabel/collection, gunakan method remove(). Contoh:
BasicDBObject kriteria = new BasicDBObject();
kriteria.put("nim", "5301405008"); //where nim='5301405008'
 
collection.remove(kriteria);
NB. Selalu tutup koneksi database MongoDB sehingga aplikasi lain dapat menggunakannya, gunakan fungsi mongo.close();
Berikut sourcecode lengkapnya:
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package latihanmongodb;
 
import com.mongodb.BasicDBObject;
import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoException;
import java.util.ArrayList;
import java.util.Arrays;
 
/**
 *
 * @author Luthfi Emka
 */
public class LatihanMongoDB {
 
/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws MongoException {
 try {
 // TODO code application logic here
 Mongo mongo = new Mongo();
 
 //select database akademik
 DB db = mongo.getDB("akademik");
 //select tabel mahasiswa
 DBCollection collection = db.getCollection("mahasiswa");
 
 //insert data
 BasicDBObject object = new BasicDBObject();
 object.put("nim", "5301405005");
 object.put("nama", "Luthfi Emka");
 
 object.put("nim", "5301405006");
 object.put("nama", "Emka");
 
collection.insert(object);
 
 //select dan tampilkan data yang ada
 ArrayList list = new ArrayList();
 
 DBCursor cursor = collection.find();
 while (cursor.hasNext()) {
 DBObject object_cursor = cursor.next();
 list.add(object_cursor);
 }
 } catch (Exception ex) {
 ex.printStackTrace();
 }
 
 }
}

Tidak ada komentar:

Posting Komentar