19 Ekim 2014 Pazar

JSF PrimeFaces Hibernate dataTable Örneği




            Önceki 2 JSF yazımda kurulumdan ve Managed Bean kavramına değinmiştik. Bu yazıda ise PrimeFaces componenti olan dataTable içerisine veri tabanından çektiğimiz verileri direk olarak nasıl ekleriz buna göz atacağız. Bundan önceki yazıların başlığında PrimeFaces bulunmasına karşın neredeyse hiç PrimeFaces componenti kullanmadım. Bunun  sebebi zaten PrimeFaces’in resmi sitesinde hepsinin kullanımını görebilmemiz ve altındaki kodu alarak kendi işimiz doğrultusunda geliştirebilmemizdir. Bu yüzden PrimeFaces’teki commandButton şu işe yarar ribbon bu işe yarar gibi işlerle uğraşmak zaman kaybıdır. Aynı zamanda doküman desteğide bulunmaktadır. Hem web hem de doküman kullanarak bu işi daha iyi öğrenebiliriz. Sizde daha önce görmemişseniz eğer aşağıdaki linklere tıklayarak bütün componentlerin kullanımını ve kodlarını görebilirsiniz.







            Gerekli kaynakları gösterdikten sonra biz işimize dönelim. Büyük ihtimalle yapacağımız işlerde veri tabanı ile uğraşmamız gerekecek. Bu uygulamada kısaca veri çekme işlemini gerçekleştirdim. Bu işlemi yaparken direk SQL cümleleri kullanmak yerine Hibernate kütüphanesi ile verilerimizi çektim. Hibernate  redhat bünyesinde geliştirilen bir kütüphanedir. Amacı verileri fazla SQL komutları kullanmadan getirebilmektir. Büyük projelerde tercih edilen bir kütüphanedir. Bunun en temel sebebi direk SQL cümlelerine göre veri getirme hızının yakın olmasıdır. Ayrıca kullanım açısından geliştiricilere seçenekler sunar. Hatta SQL kodu yazmaktan vazgeçemeyenler için Hibernate Query Language (HQL) tarzında özelleşmiş bir dili de mevcut. Temel olarak söyleyebileceklerim bunlar. Aşağıdaki linlere göz atabilirsiniz. İlk link resmi sitesinin , ikincisi ise Hibernate kullanımını anlatıyor.






            Hibernate kütüphanesi NetBeans içerisinde mevcuttur. Direk kütüphane ekle diyerek ekleyebilirsiniz.  Daha önce Java ile Xhtml arasındaki ilişkinin Managed Bean ler ile sağlandığını görmüştük. Peki burada veri tabanı ile Java kısmı nasıl bağlantı kuracak diye düşünebilirsiniz. İşte tam burada karşımıza POJO (Plain Old Java Object)  çıkıyor. Bunlar aslında birer java class larıdır ve her tabloya karşılık bir POJO olmalıdır ve bu POJO lar esasen içerisinde tablolara ait verileri tutar. Hibernate bu POJO ları kullanarak verileri Java kısmına taşır. Bunu yapabilmek için de mapping işlemi gerçekleştirerek tablolar arasındaki ilişkileri belirler. Bu sayede bire bir , bire çok çoğa çok şeklindeki tablolardan veri çekmeyi kolaylaştırır.  NetBeans sayesinde bu POJO ları ve Hibernate mapping işlemlerini otomatik veri tabanı bağlantısı kurarak oluşturabiliyoruz. Burada her POJO nun yanında ".hbm.xml" dosyası da oluşturulur. Her tablonun bilgileri ve diğer tablolarla olan ilişkileri burada belirtilir. Bunun yanı sıra bu işlemleri yaparken dikkat etmemiz gereken çok ince bir ayrıntı var , o da bağlantıyı yapacak Connector kütüphanesini de proje kütüphanelerine dahil etmeliyiz. Yoksa diğer bütün işlemleri doğru yapsak bile sonuç elde edemeyiz. Bu yüzden aşağıdaki Hibernate Configuration videosuna göz atmanızı tavsiye ederim.


            Hibernate ile bağlantıyı kurduktan  ve POJO ları oluşturduktan sonra Managed Bean içerisine fonksiyonlarımızı yazıyoruz ve Xtml sayfamıza  “ <p:dataTable …“ componentimizi ekliyoruz  buradan  yazdığımız fonksiyonu çağırıyoruz ve veriler geliyor. Yazı ile en basit şekilde böyle anlatabiliyorum.  Aşağıdaki ikinci videoda ise baştan sona kadar bahsettiğim şeyleri sıra ile yapıyorum. Yazıda görüldüğü gibi hiç kod yok. Bunun sebebi yazı ile detaylı anlatmaya kalktığımda işlerin karışacağıdır. Bu yüzden video ile daha rahat anlaşılabilir. Son olarak direk bulunduğunuz sayfayı deploy etmek için  Shift+F6’yı kullanabilirsiniz. 






0 yorum:

Yorum Gönder