top of page

Java'da MVC, ORM, Hibernate Kavramlari

  • Writer: Sevdanur GENC
    Sevdanur GENC
  • Dec 11, 2011
  • 2 min read

MVC (Model View Controller)MVC (Model View Controller) Yazilim muhendisliginde kullandigimiz bir mimari yapisidir. Amac projelerimizde soyutlandirma yapabilmektir. Katmanlari paracalara ayirmaktir. Bol, Parcala, Yonet en bilinen amactir. Bu modelin kullanilmasinin ihtiyac sebebi ise ; kalabalik bir tasarlanmis projeyi hem dizayn tarafindan hemde arka tarafdaki bazi kodlari tekrar tekrar yazdigimizda kod fazlaligi olusmaktadir. ilerki zamanlarda hata ciktiginda bunlari bulmak zaman alacagindan dolayi bu model gelistirilmis ve kullanilmaya baslamistir. ORM (Object Relation Mapping)ORM (Object Relation Mapping) ORM, Object Oriented dillerinde ki nesnelerin, veritabanlarindaki iliskisel baglantili kayitlara nasil donusturuldugunu gorebilecegimiz bir mimaridir. ORM'nin kullanim amaci veritabanimizdaki tablolarin uygulamamiz tarafinda classlarla temsil etmesidir. Yani veri tabanimizda ki tablolarin aynisini sinifla temsil edecektir. Sinifin ismi tablo adiyla ayni olacaktir, yine ayni sekilde; db'de ki alan isimleri, veri turleri class'imiz da ki degisken ve veri tipleri ile ayni olmalidir. Normalde class'larimizi olustururken degiskenlerimizi tanimladiktan sonra getter/setter cumlelerimizi olusturmak zorundaydik, ORM bunlari kendisi yapacaktir. Eger ORM biliniyor ve de kullaniliyorsa artik CRUD islemlerini bilmemize yada yazmamiza gerek kalmayacaktir. Ve ya Resultset ayarlari icin satir satir kod yazmamiza gerek yoktur. Kisacasi ORM mimarisi bilindikten sonra tsql, jdbc vb... bilmeye gerek kalmayacaktir. Ve her zaman ki gibi yine kisa zamanda daha kisa bir sekilde kod yazilacaktir. Bu da yazilim muhendisleri icin bir rahatliktir. HIBERNATEHIBERNATE Hibernate, bir ORM (Object Relational Mapping) aracidir. Java'da hibernate ile calisirken 4 onemli asamadan gecmemiz gerekiyor. Bu asamalar ;

1 ) Oncelikle projemize Hibernate ile ilgili API'yi yuklememiz gerekiyor ki bunu projemizin Library kisminda yapacagiz. 2 ) Hibarnate'imizle ilgili konfigurasyon dosyasi olusturuluyor.  Veritabanimizin ne oldugunu, icerisine handi database dosyasina ulasilacagi ve sifre gibi ayarlamalari buradan belirtiyoruz. Ve sonucunda .XML uzantili dosyasi olusturuluyor. 3 ) Mapping ayarlamasi yapiliyor. Bunun icin reverse engineering wizard'i kullaniyoruz. Sonucunda .Reveng uzantili bir dosya olusturmus oluyoruz. Burda ki amac veritabanimizda ki butun tablolara erismis oluyoruz. Eger ki baglantili tablolariniz varsa onlari da sistem uzerinden gorebileceksiniz. 4) Sonuncu asamamizda java objelerimizi uretiyoruz. Olusturdugumuz Konfigurasyon dosyasi ve Reverse Engineering dosyasi ile sistemden bilgileri cekiyor. Bu ilk adimlar gerceklestirilmeden malesef bu adimda ilerleyemeyiz bu yuzden herseyi sirasiyla gerceklestirmemiz gerekiyor. Sonuc olarak .java uzantilli Pojo dosyalarini ve .XML uzantili hibernate dosyalarini sisteme kendisi aktariyor. Bu islemleri gerceklestirmemizin faydasi; veri tabanimizda cok fazla sayida tablomuz varsa bunlarin hepsinin transfer islemlerini kolaylikla yapabilmemizdir. Bu islemlerin tam terside JPA mimarisi kullanilarak yapiliyor. Siniflar yaziliyor ve ardindan tablolari olusturuyor, iliskilendirmeleri ayarliyoruz. Bir sonra ki makalem de Hibarnate ile ilgili bir uygulama bulunuyor, mutlaka incelemenizi tavsiye ediyorum...

Recent Posts

See All
Ado.Net Entity Framework Ogreniyorum Serisi 00

Ado.Net Entity Framework (EF) verileri ile etkilesim uygulamalari gelistirmek icin kullanilan Ado.Net nesne iliskisel modelleme yazilimi olarak iliskisel veritabani semalarini ve nesneler arasinda ki

 
 
 
LINQ Ogreniyorum Serisi 05

Linq To Sql’de tablolarimizdaki verileri silebilmemiz icin; DataContext icerisinde ki DeleteOnSubmit ve DeleteAllOnSubmit metodlari kullanilmaktadir. Beraberinde SubmitChanges metodu da kodlari eklen

 
 
 
LINQ Ogreniyorum Serisi 04

Linq To Sql’de tablolarimiza verileri guncelleyebilmemiz icin; DataContext icerisinde ki SubmitChanges metodu kullanilmaktadir. Bu komutlari kullanarak DataContext sinifinin yapisina da ihtiyac duyu

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page