Hibernate’e Giriş (Veritabanına Bağlanmak ve Sınıfları Haritalamak)

Hibernate serimizin ilk dersinde kurulumları nasıl yapacağımıza,hibernate ayarlarını mysql için düzenlemeyi hibernate config ayarlarını nasıl yapabileceğimizi ve bir sınıfımızı veritabanı üzerinde nasıl haritalayabileceğimizi yani tablo haline nasıl getirebileceğimize bakıyor olacağız.

İlk olarak hibernate kütüphanelerini,mysql jdbc kütüphanelerini indireceğiz.Bu serimizde veri tabanı sistemi olarak mysql kullanacağız.Derslerin proje dosyalarını github üzerinden indireblirsiniz,devamı gelecek olan derslerin dokumantasyonlarını ve kaynak kodlarını da yüklüyor olacağım.

İlk olarak hibernate indirmek için bu adresten en stabil sürümünü indirmenizi öneririm,bu yazıyı yazdığımda en kararlı 4.3.10 sürümüydü. http://hibernate.org/orm/downloads/

Mysql kullanacağız dedik ve mysql bağlantımız için bir mysql sunucusuna bir veritabanı yönetim sistemine ve java ile bağlantı sağlayabilmek için jdbc kütüphaneleri kullanacağız.

Mysql server:http://dev.mysql.com/downloads/mysql/ eğer sunucu üzerinde bir mysql server varsa ve onu kullanacaksanız bilgisayarınıza tekrardan mysql server kurmaya gerek yok.Sunucu üzerinde bir veritabanı oluşturarak ip üzerinden bağlantı sağlayabilirsiniz.

Mysql Workbench:http://dev.mysql.com/downloads/workbench/ veritabanlarımızı yönetmek için kullanacağımız veritabanı yönetim yazılımı.Eğer bir linux dağıtımı kullanıyorsanız paket yöneticinizden direk olarak indirebilirsiniz,aksi taktirde bazı kütüphane sorunları çıkartabilir.

Mysql JDBC:http://dev.mysql.com/downloads/connector/j/3.1.html java ile mysql veritabanımıza bağlanabilmek için jdbc kütüphanelerine ihtiyaç duyacağız.

Gerekli dosyaları indirdiyseniz şimdi kurulumlara geçelim.İlk olarak mysql server kurulumunu yapınız,daha sonra mysqlworkbench kurulumunu yapınız.Kurulumlar tamamlandığında mysqlworkbench yazılımını açarak bir veritabanı oluşturun.Kullanıcı bilgilerinizi not alın hibernate ayarlarını yaparken lazım olacaklar.

Proje geliştirmek için ben eclipse tercih ediyorum ve projeleri eclipse üzerinde geliştireceğim.Şimdi yeni bir proje oluşturalım projemize 2 adet paket ekleyeceğim ardından ise 2 adet sınıf.Sınıf isimlerini ve paketler aşağıdaki gibidir.

proje_dosyalari

 

Şimdi hibernate ve jdbc kütüphanelerimizi projemize eklememiz gerekiyor.İndirdiğiniz hibernate sıkıştırılmış dosyasını çıkarttığınızda lib klasörü göreceksiniz bu klasör projemizde kullanacağımız jar dosylarını barındırmaktadır.Proda gerekli olanlar required klasörü içerisindeki jar dosyalarıdır fakat diğer derslerde farklı konulara da değineceğimiz için tüm jar dosyalarını projemize eklememizde fayda var.Lib klasörü içerisinde ayrı ayrı klasörler göreceksiniz tüm onların içerisindeki jar dosyalarını ayrı bir klasöre toplayın daha sonra indirdiğiniz mysql jdbc kütüphanesinide bu klasör içerisine kopyalayın.

Şimdi bu kütüphaneleri projemize ekleyelim bunun için sırası ile,Project/Properties ve JavaBuildPath sekmesi içerisinde Libraries sekmesi altında Add External Jars diyerek klasöre kopyaladığınız tüm  jar dosyalarını seçerek ekleyin ve apply diyerek uygulayın.

jar dosyalari

 

Veritabanımızı oluşturduk,sınıflarımızı ve paketlerimizi ekledik,jar dosyalarını projemize ekledik şimdi ise hibernate için ayarları yapmamız gerekiyor.Fakat ayarlara geçmeden önce sınıflarımızı yazalım ve veritabanına haritalayacağımız sınıfımızı yazalım.

Bir personel sınıfı yazacağız ve bu sınıf bizim veri tabanımıza bir tablo olarak eklenecek.

personel.java

main.java

Bu sınıf ile personel sınıfımızdan bir instance oluşturacağız ve veritabanı üzerine bu verilerin eklenmesini sağlayacağız.

Şimdi ise hibernate için bir ayar dosyası oluşturmamız gerekiyor,hibernate veritabanımızı bulabilmek için bazı ayarlara ihtiyaç duyar,bu ayarlar ise hibernate.cfg.xml dosyasında tutulur,bu dosyada projemiz içerisinde src dizini altında olmalıdır,farklı bir yerde olduğunda ise bu belirtilmelidir.Şimdi src dizini altında bir xml dosyası oluşturalım ve ismine ise hibernate.cfg.xml diyelim.Dosyamızın içeriği ise aşağıdaki gibi olacaktır.

Son adım olarak main sınıfımızı çalıştırıyoruz ve sınıfımız veritabanı üzerinde tablo halinde yer aldığını görüyoruz.

database

 

Bu alanda çeşitli hatalar ile karşılaşırsanız eclipse üzerinden çıktıları iyi takip etmelisiniz o hata çıktıları sizi çözüme götürecektir,yine çözüm bulamazsanız yorum veya eposta ile gönderdiğinizde elimden geldiğince yardımcı olmaya çalışırım.

 

Ders notları ve örnek proje:https://github.com/meSutPiskin/hibernate_dersler