MongoDB-Java-5-Genel Örnek

Merhaba Arkadaşlar ,

MongoDB’ye bağlanmayı , veriçekmeyi , MVC Map object ile veri göndermeyi , Freemarker tempalate ve Spark Framework hakkında önceki yazılarda örnek verdik. Bunların hepsini bir örnekte toplayalım.

import java.io.IOException;
import java.io.StringWriter;
import java.net.UnknownHostException;

import spark.Request;
import spark.Response;
import spark.Route;
import spark.Spark;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

public class HelloMongoMVC {

	public static void main(String[] args) throws UnknownHostException {

		/*MongoDB Connection*/
		MongoClient client = new MongoClient("localhost" , 27017);
		DB database =client.getDB("test");

		final DBCollection collection = database.getCollection("course");
		final Configuration conf = new Configuration();
		conf.setClassForTemplateLoading(HelloWorldFreeMarker.class, "/");

		/*Spark Routing*/
		Spark.get(new Route("/") {

					@Override
					public Object handle(Request arg0, Response arg1) {

						DBObject obj = collection.findOne();

						Template helloTemplate = null;
						try {
							helloTemplate = conf.getTemplate("hello.html");
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
						StringWriter writer = new StringWriter();
						 System.out.println(obj);
						try {
							helloTemplate.process(obj, writer);
						} catch (TemplateException e) {
							e.printStackTrace();
						} catch (IOException e) {
							e.printStackTrace();
						}

						return writer;
					}
		});

	}

}

Dikkat etmeniz gerekenler:

  • Server Already In Use şeklinde bir hata alırsanız. İşlemlerden javaw.exe yi sonlandırıp tekrar deneyin.
  • Eğer collection da “hello” isimli bir girdi yok ise yine hata alacaksınız bunuda collection da olan bir değeri yada db.course.insert({“hello” : “world”}) ekleyin.
  • MongoDB MVC ile çok iyi geçiniyor gerçekten koda dikkat edersiniz. DBObject direkt process içine gönderdik çünkü bu nesne Hasmap’den extend Map’den implement edilmiş bir nesne yani direkt kullanılabiliyor.

http://localhost:4567 ye girerseniz resimdeki sonucu alacaksınız.

mongoproject5 projemizin son hali indirebilrsiniz.

Muharrem Tığdemir

Leave a Reply