JavaMongoDB
- Posted on
- Comments 0
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