Hibernate è un framework open -source che supporta la persistenza di oggetti di dati di livello intermedio scritti in Java . Un oggetto di livello intermedio è un'unità di codice di programma che risiede nello strato architettura software tra l'interfaccia utente e l'archivio dati. Spesso l'archivio dati è un database relazionale come MySQL , ma può anche essere un file di testo formattato . Gli oggetti di dati di livello intermedio fornisce un modo comodo per scrivere la logica di livello superiore per manipolare e utilizzare le informazioni dell'applicazione . Essi permettono anche il meccanismo di archiviazione sottostante per cambiare senza richiedere modifiche al codice a strati architettonici più elevati . Configurazione framework di applicazioni Tomcat di Apache per incorporare Hibernate è un processo semplice una volta che avete preinstallato i componenti necessari . Cose che ti serviranno
Installato Apache application server Tomcat e le sue dipendenze , tra cui Java componenti
installati
mySQL database installato
Hibernate Installato Apache Ant
Text Editor
Mostra di più istruzioni
Connect MySQL per Apache
1
Scarica Connector /J , la Java Database Connectivity ( JDBC ) connettore per il database MySQL .
2
estrarre il connettore elettrico /file. jar J nella nella directory " WEB-INF/lib " dove il vostro Tomcat e librerie di Hibernate risiedono .
3
Creare una directory " classi " e una directory " classes /src " per contenere il testo file di codice sorgente Java nella directory WEB -INF . Il tuo script di build Ant creerà un " classi /bin" per contenere gli oggetti binari prodotte dalla sorgente in questa stessa directory .
4
Creare un file build.xml per Apache Ant per eseguire la base operazioni necessarie per compilare ed eseguire un programma Java . Ogni comando di nome specificato può essere chiamato in modo indipendente , ma formano anche una gerarchia di dipendenze che raggiungere un obiettivo di livello superiore . L'obiettivo fine ultimo è quello di " eseguire" il programma , che dipende da compilare dopo che i file necessari vengono copiati e gli oggetti più grandi compilati vengono eliminati.
< Nome di progetto = default " hibernate- to- sql " = " compile ">
< property name = " " value =" targetdir WEB INF /classes /bin " />
;
< /set di file >
< /path >
< /target >
< nome del target = " compile " dipende = " pulito , copia- risorse ">
< javac value = " - Xlint " />
< /javac >
< /target >
< esclude name = " run " dipende = "Compila" >
< percorso classpath = " $ { targetdir }" />
< /java >
< /target>
< /project >
Configura Hibernate
5
Creare un database MySql con un nome utente e una password con privilegi di root. Questo esempio presuppone che il nome del database è " ibernazione " con nome utente " uname " e la password " mypwd . "
6
Creare un file di testo denominato hibernate.cfg.xml nella directory src . Iniziate creando il guscio XML di base in cui si scrive le configurazioni specifiche :
< DOCTYPE hibernate -configuration PUBBLICO
- //Hibernate /configurazione Hibernate ! Pagina 7
Aggiungi le seguenti righe di elementi session- factory per configurare il database MySQL , fornendo il nome del database del caso, user id e password :
< p > < - Configurare MySQL - >
jdbc : mysql ://localhost /hibernate < /property>
< , nome di proprietà = " connection.username " > uname < /property>
mypwd < /property>
< nome di proprietà = " connection.driver_class " > com.mysql.jdbc.Driver < /property>
< proprietà Pagina 8
Aggiungi configurazione per il collegamento pacchetto C3P0 piscina che viene distribuito con Hibernate aggiungendo le seguenti righe al elemento sessione di fabbrica :
< - ! C3P0 Connection Pool - >
3 < /property>
5 < /property>
< p > 1800 < /property>
filo < /property>
9
disabilitare cache di secondo livello di Hibernate per evitare potenziali problemi di sincronizzazione quando si utilizza con Tomcat :
< - Disabilita cache di secondo livello . - >
< proprietà name = " cache.use_query_cache " > false < /property>
false < /property>
< property name = " max_fetch_depth " > 3 < /property>
10
impostare le seguenti proprietà per consentire di testare la vostra configurazione :
< - Stampa SQL standard output e ricreare nella costruzione - >
true < /property>
true < /property>
< p > creare < /property>
creare una classe Java per il test di
11
Scrivi una semplice classe Java e salvare nella directory directory del pacchetto . Per questo esempio , il nome del file di classe sarà MyClass.java nella directory src /com /eHow /tuonome :
pacchetto com.ehow.yourname ; /* sostituire con il tuo nome e il dominio * /Eventi
importazione java.util.Date ;
public class MyClass {
lunga id privato; /* un identificatore univoco per l'oggetto * /
private String myProperty ;
lunga getId pubblico ( ) {
id return; }
public void setId (Long id ) {
questo . id = id ;
}
public String getMyProperty ( ) {
ritorno this.myProperty ;
}
public void setMyProperty (String prop ) {
this.myProperty = prop ;
}
}
12
Creare un file MyClass.hbm.xml in la directory del pacchetto in cui è stato salvato il file di MyClass.java associato. Creazione di un elemento proprietà per tutti i vostri membri dati MyClass che verrà salvato in una tabella di database denominata classe : < ? Xml version = " 1.0 " encoding = " UTF - 8" >
< DOCTYPE hibernate -mapping PUBLIC
! " - Mappatura //Hibernate /Hibernate DTD 3.0 //EN "
" http://hibernate.sourceforge.net/hibernate- mappatura - 3.0.dtd ">
< /id >
< /class >
< /hibernate- mapping>
13
aggiungere una voce nell'elemento sessione di fabbrica del vostro file xml per associare il file di configurazione di mapping MyClass con Hibernate : . !
< - file di mapping - >
14
Eseguire il build Ant file. Se non ci sono errori , si dovrebbe vedere che un nuovo record è stato aggiunto al database MySQL :
$ ant eseguito
Buildfile : build.xml
Inizia Hibernate
15
costruire una classe di supporto per implementare una fabbrica di sessione e salvarlo come HibernateUtil.java nel vostro " WEB-INF/classes " directory . Importare il pacchetto e creare una funzione principale per testare la configurazione :
import org.hibernate.SessionFactory ;
importazione org.hibernate.Session ;
importazione org.hibernate . operazione;
importazione org.hibernate.cfg.Configuration ;
import com.ehow.yourname.MyPackage ; /* richiesto per la funzione di prova solo * /
HibernateUtil public class {
private static final SessionFactory sessionFactory ;
static { try {
//Inizializza fabbrica usando i contenuti di
hibernate.cfg.xml
sessionFactory = new Configuration ( ) configurare ( ) buildSessionFactory ( ) .
.
} catch ( ex Throwable ) {
System.out.println ( " creazione iniziale SessionFactory non riuscita." + ex) ;
gettano nuova ExceptionInInitializerError ( ex) ; }
}
public static SessionFactory getSessionFactory ( ) {
ritorno sessionFactory ;
}
public static void main ( String [] args ) {
MyClass mycls = new MyClass ( ) ;
/* il campo id si auto -incremento di un valore unico che distinguerà record * /
mycls.setMyProperty ( " My Property " ) ;
Session session = getSession ();
< p > transazione Transaction = session.beginTransaction ();
Session.save ( blog) ;
transaction.commit (); /* se il test ha successo , troverete un nuovo record nel il database MySQL * /
}
}
16
Costruire una classe listener che partirà Hibernate e gestire la persistenza delle vostre classi di dati mappate. Salvare la classe come HibernateListener.java nel vostro " WEB-INF/classes " directory :
HibernateListener public class implementa ServletContextListener {
public void contextInitialized ( evento ServletContextEvent ) {
HibernateUtil.getSessionFactory ( ) ; //crea una fabbrica
}
public void contextDestroyed ( evento ServletContextEvent ) {
HibernateUtil.getSessionFactory ( ) close (); . //risorse libere
}
}
17
Aggiungere la seguente riga al file web.xml nella directory WEB-INF . Questo associare la classe ascoltatore con la tua
18
una console di tipo finestra " run formica " per eseguire lo script ant .