2 result(s) in 1 page(s)
Previous Page  - 1 / 1 -  Next Page
Eclipse İle Hibernate Projesi Yaratmak 26 September 08, Friday @ 15:16


 

Merhabalar;

 

Bugunkü konumuz başlıktan da anlaşılacağı üzere bir hibernate projesi yapmak. Eğer java ile web projesi geliştiriyorsanız mutlaka yolunuz hibernate'e düşmüştür. Eğer düşmemişse bile düşmesi yakındır.

 

Genelde, web uygulaması geliştiriken Hibernate jar paketlerini web uygulamasının lib dizininde kopyalar ve web.xml'de tanıtırlar. Ama bizim bugun yapacağımız örnekte, hibernate kütüphaneleri ayrı bir pakette bulunacak ve web uygulamasına entegrasyonu "JEE Module Dependency" ile yapılacak. Dolayısı ile data katmanı ile presentasyon katmanını projeler basında ayırmış oluyoruz. Bu durum data katmanınızın taşınabilmesine olanak sağlar.

 

Şimdi isterseniz başlayalım.

 

İlk yapmamız gereken eclipse ve java sdk'yı sistemimize kurmak. Eğer kurmadı iseniz buradan nasıl kurulacağını öğrenebilirsiniz. Eğer hazırda kurulu ve ayarlı bir eclipse'iniz varsa hibernate projesini yaratmaya başlayabiliriz.

 

Eclipse'inizin File menüsünden new->project... sekmesine tıklayınız. Aşağıdaki gibi bir ekranla karşılaşmanız gerekmekte. Aşağıdaki ekrandan java/Java Project sekmesini işaretleyin ve "next" düğmesine tıklayın.

 

 

"next" düğmesine tıkladıktan sonra aşağıdaki gibi bir ekran gelmesi gerekmekte. Bu ekranda "Project Name" kısmına projemizin adını yani "hbtutorial" yazın ve "next" düğmesine tıklayın.

 

 

"next" düğmesine tıkladıktan sonra aşağıdaki gibi bir ekranla karşılaşacaksınız. Bu ekranda herhangib bir değişiklik yapmadan "finish" düğmesine tıkayın.

 


"finish" düğmesine tıkladıktan sonra "hbtutorial" adındanki projemizin aşağıdaki gibi eclipse'nin sol proje listesinde görünmesi gerekir.

 

 

Artık elimizde bir Java projesi mevcut. Şimdi yapmamız gereken bu projeye Hibernate kütüphanelerini yüklemek. Bunun için öncelikle "lib" adında bir dizin oluşturmamız lazım. Kütüphanelerimizi bu dizin altında saklayacağız.

Yukarıdaki ekranda "hbtutorial" proje sekmesi üzerine sağ tıklayın ve new->folder sekmesini tıklayarak gelen ekranda "lib" yazıp "OK" tuşuna basarak dizini yaratın. Şimdi yapmamız gereken http://hibernate.org sitesine uğrayıp en son hibernate kütüphanelerini indirmek.

Hibernate'in faklı amaçlar için geliştirdiği farklı kütüphane paketleri mevcuttur. Bu paketlerden bize lazım olanlar aşağıda listelenmiştir.

 

  • Hibernate Core
  • Hibernate Annotations
  • Hibernate Validators

Yukarıdaki paketlerimn en son sürümlerini indirdiğimizde aşağıda listelenen tarball'ların elimizde olması gerekiyor. (Dosya isimleri farklı zamanlarda sürümlerden dolayı farklı olabilir. Bu doküman yazıldığında en son sürümler aşağıdaki gibi idi.)

  • hibernate-distribution-3.3.1.GA-dist.tar.gz
  • hibernate-annotations-3.4.0.GA.tar.gz
  • hibernate-validator-3.1.0.GA.tar.gz

 

Yapmamız gereken bu 3 paketi açıp içindeki jar dosyalarını "hbtutorial" projemizin lib dizinine kopyalamak. Bu kopyalamayı yaparken şuna dikkat edin. Her paket dizininini hemen altında jar dosyaları ve "lib" adında bir dizin mevcuttur. bu jar dosyalarını ve "lib" dizini altındaki jar dosyalarını kopyalayın. hibernate-distribution-3.3.1.GA paketinin "lib" dizini yapısı diğer 2 paketten biraz farklı. Bu pakette "lib" dizini altında aşağıdaki gibi 3 paket mevcut.

  • required
  • optional
  • bytecode

Bu 3 paketeen ilk 2'si içindeki jar dosyalalarını bizim projemizde kopyalayacağız. "bytecode" dizini altındaki jar dosyalarına ihtiyacımız yok.

 

Dikkat etmemiz gereken bir nokta daha var. Yukarıdaki 3 pakette aynı jar dosyaları mevcut. Bu jar dosyalarını lib dizinimizde kopyaladığımızda aynı jar paketin farklı isimlerde kopyaları oluşacaktır. Bu paketler aşağıda listelenmiştir.

 

  • dom4j-1.6.1.jar
  • dom4j.jar
  • javassist-3.4.GA.jar
  • javassist.jar

"dom4j-1.6.1.jar" ve "javassist-3.4.GA.jar" kütüphanelerini silin.

 

Kütüphaneleri projemize taşımış olduk. Şimdi sıra bu kütüphaneleri "hbtutorial" projemize tanıtmakta.

 

"hbtutorial" projesine sağ tıklayın ve gelen açılır pencereden "properties" sekmesini seçin. Aşağıdaki gibi bir ekran gelmeli. Bu ekranın solundaki listeden "Java Build Path" sekmesini seçin, aşağıdaki gibi bir ekranla karşılaşmalısınız. Bu ekranın üstündeki tab sekmelerinden "Libraries" sekmesini seçiniz ve "Add JARs..." düğmesine tıklayınız.

 

 

"Add JARs..." düğmesine tıkladığınızda aşağıdaki gibi bir ekran ile karşılaşmalısınız. Bu ekranda "hbtutrial/lib" dizini altındaki tüm jar dosyalarını seçin ve ok tuşuna basın. Tekrar yukarıdaki ekrana geri döneceksiniz. Bu ekranda da OK tuşuna tıklayıp işlemi sonlandırın.

 

 

 

 

 

 

Şu an itibari ile Hibernate Kütüphanelerini hbtutorial projemizde tanıtmış durumdayız. Ama henüz işimiz bitmedi. Küçük bir POJO yapıp, projemizi test etmliyiz. Bunun için öncelike hibernate projemizi ayarlamalıyız. Hibernate projemizi ayarlamak demek, hibernate'in kendisini ayarlamak demek.

 

Hibernate ayarlamaları "hibernate.cfg.xml" dosyası aracılığı ile yapılmakta. (Aslında dosya isminin illa da hibernate.cfg.xml olmasına gerek yok. bunu biraz sonra anlayacaksınız.)

 

Aşağıdaki örnek bir hibernate.cfg.xml dosyası içeriği mevcut. hbtutorial/src dizini altında hibernate.cfg.xml dosyası yaratın ve aşağıdaki işçeriği bu dosyaya kopyalayın.



<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>

<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>

<property name="hibernate.connection.url" >jdbc:postgresql://192.168.46.53:5432/tvqdb </property>
<property name="hibernate.connection.username" >admin</property>
<property name="hibernate.connection.password" >12345</property>

<property name="hibernate.connection.driver_class" >org.postgresql.Driver </property>



<property name="hibernate.dialect" >org.hibernate.dialect.PostgreSQLDialect </property>

<property name="hibernate.default_schema" >public
</property>



<property name="hibernate.show_sql" >true </property>

<property name="hibernate.current_session_context_class" >thread </property>
<property name="hibernate.cache_provider_class" >org.hibernate.cache.NoCacheProvider </property>

<property name="hibernate.query.factory_class" >org.hibernate.hql.classic.ClassicQueryTranslatorFactory </property>

<property name="hibernate.c3p0.max_size" >2 </property>
<property name="hibernate.c3p0.min_size" >1 </property>
<property name="hibernate.c3p0.max_size" >1 </property>
<property name="hibernate.c3p0.min_size" >1 </property>
<property name="hibernate.c3p0.timeout" >5000 </property>
<property name="hibernate.c3p0.max_statements" >100 </property>
<property name="hibernate.c3p0.idle_test_period" >300 </property>
<property name="hibernate.c3p0.acquire_increment" >1 </property>

<property name="hibernate.max_fetch_depth" >1 </property>
<property name="hibernate.auto_commit" >true </property>



</session-factory>
</hibernate-configuration>


Yukarıdaki hibernate.cfg.xml içeriği bir çok ayar içermekle birlikte bizi şu an ilgilendiren

 

  • hibernate.connection.url
  • hibernate.connection.username
  • hibernate.connection.password
  • hibernate.connection.driver_class
  • hibernate.dialect

parametreleridir. Bu yukarıdaki beş parametre sırası ile,

  • veri tabanı bağlantı noktamızı,
  • veri tabanına bağlanırken kullanacağımız kullanıcıyı,
  • veri tabanı kullanıcı parolasını,
  • veri tabanı için jdbc sürücü sınıfını,
  • hibernate veri tabanı betikleri üretirken hangi dialekt ile üreteceğini
belirtir sınıfı işaret etmektedir.

Yukarıdaki örnek hibernate.cfg.xml dosyamızda bu parametreler ayarlanmış durumda. Siz de bu parametreleri var olan veri tabanını sunucunuza göre ayarlayın. Yalnız dikkat emeniz gereken bir nokta var. Yukarıda örnek olarak PostgreSQL veri tabanına göre ayarlama yapılmış, eğer farklı bir veri tabanı seçecekseniz o veri tabanının JDBC sürücüsünü hbturoail/lib dizinine kopyalayın ve projeye, yukarıda Jar dosyalarını tanıttığımız gibi, tanıtın. Ayrıca aşağıdaki parametreleri de veri tabanınızın özelliklerine göre değiştirin.

 

  • hibernate.connection.url
  • hibernate.connection.driver_class
  • hibernate.dialect

 

Bu haliyle hbtutorial projemizin ayarlama işlemlerinin bir kısmını bitirmiş oluyoruz. Hala yapmamız gerekenler var. Bu yapılacakları açıklamdan önce biraz hibernate'in çalışmasından bahsedelim.

 

Hibernate çalıştığında projenizde "org.hibernate.Session" sınıfında tekil (singleton) bir obje yaratır. Bu obje statik ve değiştirilemzdir. Projeniz ilk ayağa kaldırıldığında sisteme yüklenir. Session objesi, ORM işlemlerini, obje ve dolayısı ile data saklama, silme, listeleme ve arama işlemlerini yapar. Yani hibernate'in ana parçasını oluşturur. Aslında bu konuyu daha geniş bir şekilde ifade etmek lazım ama bundan fazlası bu dokümanın konusu değil. Başka bir bolg yazısına.

 

Bizim amacımız bu objenin proje açılış aşamasında düzgün bir şekilde yüklenmesini sağlamak. Eğer bunu becerirsek, POJO yazımına geçebiliriz. Bu da aslında bir çeşit konfigürasyon işi. Ama biraz Java kodu yazmamız lazım.

Farklı bir çok yöntem olması ile birlikte internette gezen bazı dizayn şablonları mevcut. Bu dizayn şablonları aşağıdaki gibi bir sınıf yaratımını işaret etmekte.

 

 

package basepack.hibernate;



import org.hibernate.*;
import org.hibernate.cfg.*;
import org.hibernate.tool.hbm2ddl.SchemaExport;


public class HibernateUtil {

private static final SessionFactory sessionFactory;

static {
try {

Configuration cfg = new AnnotationConfiguration();

cfg.configure("hibernate.cfg.xml");

cfg.buildMappings();


SchemaExport schemaExport = new SchemaExport(cfg);
schemaExport.setOutputFile("/tmp/db.sql");
schemaExport.setDelimiter(";");
schemaExport.create(true, false);

sessionFactory = cfg.buildSessionFactory();



} catch (Throwable ex) {
// Log exception!
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory()
throws HibernateException {

return sessionFactory;
}
}

 

Yukarıdakisınıfı yaratmak için öncelikle hbtutorial/src dizini altında "basepack" adında bir dizin yaratın. Ardından basepack dizini altında HibernateUtil.java dosyasını yaratıp yukarıdaki içeriği içine kopyalayın.

 

Şimdi yapmamız gereken bir main sınıfı yaratmak ve HibernateUtil.getSessionFactory() metodunu çağırmak.

 

Yine basepack dizini altında Main.java dosyasını yaratın ve aşağıdaki içeriği içine kopyalayın.

 




package basepack;

import java.sql.Date;
import java.util.List;

import org.hibernate.Transaction;
import org.hibernate.classic.Session;

import basepack.hibernate.HibernateUtil;


public class Main {



public static void main (String [] args){
Session sess=(Session) HibernateUtil.getSessionFactory().getCurrentSession();

}

}


 

Şimdi tek yapmanız gereken Main.java dosyası üzerşne sağ tıklayıp "Run As-> Java Application" sekmesini tılamak ve herhangi bir hata ile karşılaşmamak.

 

Eğer bir hata ile karşılaşmadı iseniz, hibernate projemiz hazır demektir. Şimdi sıra bir pojo yaratmakta. O da bir sonraki blog yazımıza...

 

-halil agin.



Tags: Eclipse  hibernate   ,  Comments: 2
Struts2 için Eclipse, JDK 6 ve Tomcat 6.0 ile Çalışma Ortamının Hazırlanması 25 September 08, Thursday @ 12:27

 

Bu aralar bolca Eclipse, Java JDK ve tomcat 6.0 kuruyorum. Artık bir blog yazmanın zamanı geldi diye düşünüyorum.

 

Eğer Struts2 ile uygulama geliştirmek istiyorsanız, geliştirme ortamı olarak Eclipse ve Tomcat kullanmak bence iyi bir tercih.

 

Ben de bu yazımda eclipse, Java JDK ve tomcat ile geliştirme ortamı nasıl hazırlanır onu anlatacağım.

 

Java JDK Kurulumu

Java JDK'yı kurmak için http://java.sun.com sayfasına uğrayın ve Java SDK 'nın en son sürümünü indirin.

Not:

Şu an en son sürümü Java SDK 6.x olması lazım veya Java SDK 1.6.x. Eskiden java sürümleri 1.x şeklinde, x birer birer arttırılarak adlandırılırdı. Sanırım java SDK 1.5 ile birlikte Java SDK 5.x olarak adlandırmaya başladılar. Ama ben hala 1.x notasyonunu kullanıyorum.

".bin" ile biten paketi indirmeye özen gösterin. Çünkü ".bin" ile biten paket, bir betik programı ve bash yüklü herhangi bir Linux dağıtımında çalışır.

 

Aşağıdaki komut ile Java SDK kurulumunu başlatın. Komut, konsolunuza bir sözleşme getirecek, sözleşmeyi "yes" yazarak kabul edin :).

 

$> sh <java_paketi>.bin

 

Komut sonlandığında bulunduğunuz dizinde "jdk" ile başlayan bir dizin oluşmuş olmalı. Bu dizini sisteminizde dilediğiniz bir yere taşıyın. İsterseniz taşır iken, ismini de değiştirin. Çünkü açılan dizin "jdk-1.6_02" türünden bir şey olacak ve bence bir dizin adı için pek hoş değil. Ben genelde /usr altında jdk16 ismi ile taşırım. Eğer siz de böyle yapmak istiyorsanız aşağıdaki komut işinize yarayacaktır.

$> mv <java_dizini> /usr/jdk16

 

Bu hali ile Java SDK sisteminize kurulmuş durumda.

 

 

Eclipse Kurulumu

 

Öncelikle Eclipse uygulamasının en son sürümünü http://www.eclipse.org adresinden indirelim.

 

Eclipse çeşitli bilişim alanları için ayrı ayrı eclipse varyasyonları çıkarmakta.Örneğin Eclipse'in download sayfasına baktığımızda aşağıdaki gibi 3 adet farklı Eclipse varyasyonu görürüz.

  • Eclipse IDE for Java EE Developers
  • Eclipse IDE for Java Developers
  • Eclipse IDE for C/C++ Developers

Web uygulaması geliştireceğimiz için, bizim ihtiyacımız olan Eclipse varyasyonu "Eclipse IDE for Java EE Developers".

Eclipse'in her bir varyasyonunun sürümleri de farklıdır. Ama her sürüm aynı takma ad ile adlandırılır. Şu an en son sürüm "Ganymede" takma adlı sürümdür. Yukarıdaki her 3 Eclipse varyasyonu için de Ganymede sürümü mevcuttur.

 

Bizim ihtiyacımız olan "Eclipse IDE for Java EE Developers" Ganymede sürümünü buradan indirebilirsiniz.


Eclipse Ganymede kurulumu çok kolaydır. Tek yapmanız gereken Eclispe Ganymede tarball paketini bir dizine açmaktır.

 

Tomcat Kurulumu

Şimdi bir de Tomcat'i kuralım.

 

Tomcat'i indirmek için http://tomcat.apache.org sayfasını ziyaret ediniz. Şu an Tomcat2in en son sürümü 6.0.x 'li sürümlerdir.

Tomcat'in son sürümünü buradan indiriniz. Tomcat kurulumu da çok kolaydır. Tek yapmanız gereken Tomcat tarball paketini bir dizine açmaktır. Ama dikkat etmeniz gereken bir nokta var. Eğer geliştirme işleminizi normal bir Linux kullanıcısı olarak yapacaksanız, Tomcat dizinine sahip kullanıcı adı ve grup adının "geliştirme yapacağınız" Linux kullanıcısına ait olmasına dikkat ediniz. Yani örneğin, eğer tomcat'i A kullanıcı ile indirmiş ve kurmuşsanız ve geliştirme aşamasında tomcat'i kullanacak olan B kullanıcısı ile B kullanıcısının Tomcat dizinine yazma ve okuma haklarının olması gerekmekte.

Bunun için "chown -R <B Kullanıcısı>:<B grubu> tomcat_ev_dizini" komutunu çalıştırmanız yeterli olacaktır. Örneğin "chown -R halil:halil /usr/tomcat60 " .

 

Artık tomcat sunucunuz hazır durumda.

 

 

Eclipse'e Java SDK ve Tomcat'i tanıtmak

 

Web uygulamamızı geliştirirken Eclipse kullanacağız. ama eclipse Java kodlarını derleme ve web sunucusu görevi yapmıyor. Bu görevler sırası ile Java SDK ve Tomcat sunucusunda. Eclipse'in yazdığımız kodları derleyebilmesi için bir JDK'ya ihtiyacı var. Eclipse ile beraber gelen bir JDK versiyonu genelde mevcuttur. Ama biz yine de Java SDK'mızı güncel tutmak istedik ve en son sürümünü yükledik. Aynı durum Tomcat için de geçerli. Şimdi yapmamız, yüklediğimiz JDK'yı eclipse'e tanıtmak.

 

Eclipse'inizi açın ve aşağıdaki gibi menüdeki ayar sekmesini tıklayın.

 

 

Aşağıdaki gibi ayarların yapıldığı ekran gelecektir. Burada, sol menüde Java Sekmesi altında "Installed JREs" sekmesini tıklayınız. Sağ alandaki gibi, yüklü JRE'lerinizin gelmesi gerekir. Eğer yeni bir JRE eklemek istiyorsanız -ki istiyoruz- "Add" düğmesine tıklayınız.

 


 

"Add" düğmesi aşağıdaki gibi bir ekran getirecektir. Yükleyeceğimiz JRE standart JRE olduğu için "Standart VM" sekmesini seçin, ve "next" düğmesine tıklayarak devam edin.


 

Aşağıdaki ekran kurduğumuz Java SDK ile gelen JRE'yi eclipse'e tanıttığımız ekrandır. Bu ekranda "Directory..." düğmesine tıklayarak, kurduğunuz Java SDK'nın dizinini işaret edin ardından aşağıdaki ekranda "finish" düğmesine tıklayın.

 


 

Tekrar aşağıdaki ekrana geri dönmüş olacaksınız. Bu ekranda, yeni eklediğimiz JRE sağ taraftaki listede görünecektir. Yeni eklediğimizi işaretleyerek OK tuşuna basıp işlemi sonlandırın. Java SDK ile gelen JRE'yi eclipse'imize tanıtmış olduk.

 


 

 

Şimdi sıra Tomcat'i eclipse'imize tanıtmakta. Yine eclipse menüsünden Windows->Preferences... sekmesini tıklayınız. Gelen ekranda, sol taraftaki listeden Server->Runtime Environments... sekmesini işaretleyin. Aşağıdaki gibi bir ekran ile karşılaşmanız gerekmekte. Bu ekranda "Add..." düğmesine tıklayarak Tomcat tanıtımına başlayın.

 


 

 

"Add" düğmesi aşağıdaki gibi bir ekran getirecektir. Bu ekranda sunucu olarak "Apache Tomcat v6.0" seçin ve "next" düğmesine tıklayın ve devam edin.

 

 

 

Aşağıdaki ekran Tomcat'in eclipse'e tanıtıldığı ekrandır. Burada, "Browse..." düğmesi ile Tomcat'in kurulu olduğu dizini işaret edin. Ardından, "JRE:" işaret edilen düşen-menüden(dropdown menü) eclipse'e tanıttığınız JRE adını seçiniz. Bu kısma lütfen dikkat ediniz, başka bir JRE tanıtmamaya özen gösteriniz. Ardından "finish" düğmesine tıklayarak işlemi sonlandırınız.

 


 

"Finish" düğmesine tıkladıktan sonra ana ayar ekranına geri dönmüş olmalısınız, burada "OK" düğmesine tıklayarak Tomcat tanıtımını sonlandırın.

 

Artık Eclipse'niz Java JRE ve Tomcat ile entegre durumda. Rahatlıkla kullanabilirsiniz.

 

-halil agin.



Tags: Geliştirme ortamı  Eclipse  Eclipse Kurulumu  Tomcat  Tomcat Kurulumu   ,  Comments: 0
Previous Page  - 1 / 1 -  Next Page