# H2 Database Beispiel Source Code



## Bigbob (7. Jan 2010)

Hallo zusammen, 

bin gerade dabei in meine bestehende Java Anwendung die H2 Database (embedded) einzubauen.
Gibt es eigentlich irgendein schönes Beispielprojekt wo man nachschauen kann, was man so alles braucht und natürlich wie man es macht... 

Hab im Netz schon rumgeschaut, aber nur Codeschnippsel gefunden. Vielleicht weiß ja jemand ne Internetadresse, wo ein komplettes H2 Database embedded Projekt zum nachschauen zu finden ist..

Vielen Dank schonmal im voraus, 

Viele Grüße aus München
Joe


----------



## HoaX (8. Jan 2010)

Ziemlich ungenaue Frage die du da stellst. Auf der Seite von h2 gibts Beispiele wie man auf die Datenbank zugreift via jdbc.
Ob du dann bei reinem Jdbc bleibst, das Template von Spring verwendest oder gar direkt Hibernate einsetzt ist geschmacksache, ein Allheilmittel gibts da nicht.


----------



## Soulfly (8. Jan 2010)

Die H2 Database zu embedden ist anscheinend garnicht dein Problem, oder?

Du hast anscheinend nur noch nie eine Datenbank benutzt. Natürlich gibt es kein Allheilmittel wie du das implementierst. Die Frage, die du dir stellen musst ist, ob du die SQL Ausdrücke selber machen möchtest oder das von Hibernate unterstützenderweise z.B. machen lassen willst.

Ansonsten ist der Aufbau immer der gleiche!

1. Database login
1a. Bei ersten mal die Datenbank mit den Tabellen initialisieren (Nur beim 1. Mal)

2. Einige SQL Queries

3. Database disconnect

Alles andere macht H2 automatisch

Cheers,


----------



## Bigbob (10. Jan 2010)

Hallo zusammen, 

vielen Dank für die Antworten. War leider die letzten Tage vom Internet abschnitten :-(..

Ich möchte ja eine embedded machen. was ich noch nicht verstanden habe.
Ich muss ja ein XML File machen, indem die Datenbankstruktur und die Beziehungen drinnen stehen.
Wo muss ich das denn hinstellen? Muss das in den Ordner, wo die Datenbank mal hin soll?
Und wie schaffe ich es, wenn die Datenbank noch nicht vorhanden ist, dass diese aufgebaut wird?
reicht hier ein Connect und er baut die Datenbank entsprechend der XMLs auf?

Vielen Dank im voraus, 

Gruß Jochen


----------



## HoaX (10. Jan 2010)

Nö musst du nicht. Bei Hibernate kann man es so machen, aber auch da würde ich heute lieber Annotations verwenden.

Ob embedded oder nicht unterscheided sich für dich eigentlich nur bei der URL die du zum Verbinden verwendest, da brauchste net viel anders machen als wenn es ein Server wäre. Wichtiger für dich ist wohl ehr die Entscheidung wie du auf die Daten in der Datenbank zugreifen kannst, die geläufigsten Möglichkeiten habe ich in meinem ersten Post ja schon genannt.


----------



## Bigbob (11. Feb 2010)

Soulfly hat gesagt.:


> Ansonsten ist der Aufbau immer der gleiche!
> 
> 1. Database login
> 1a. Bei ersten mal die Datenbank mit den Tabellen initialisieren (Nur beim 1. Mal)
> ...



Hallo Soulfly, 

vielen Dank für Deine Antwort, eine Frage hätte ich noch.

was genau meinst Du min Beim ersten mal initialisieren?

Meinst Du damit, dass ich beim ersten mal alle Tables aufbauen muss, sofern die Datenbank das erste mal aufgebaut wir? oder muss ich irgendwas jedes mal beim ersten start des Programms machen?

Vielen Dank für Deine Hilfe.

Gruß aus dem verschneiten München, 
Bigbob


----------



## thom (12. Feb 2010)

Bigbob hat gesagt.:


> Hallo Soulfly,
> Meinst Du damit, dass ich beim ersten mal alle Tables aufbauen muss, sofern die Datenbank das erste mal aufgebaut wir? oder muss ich irgendwas jedes mal beim ersten start des Programms machen?
> Bigbob



Das hängt ganz von Deiner Anwendung ab und ob Du eine 'in-memory database' oder nicht.

Thom


----------



## Bigbob (12. Feb 2010)

thom hat gesagt.:


> Das hängt ganz von Deiner Anwendung ab und ob Du eine 'in-memory database' oder nicht.
> 
> Thom



Hallo Thom, 

ist eine embedded, aber keine in Memory...

Das ich beim ersten Aufruf die Tabellen in der Datenbank aufbauen, denke ich mir, aber muss ich außer die connection aufbauen noch etwas machen beim starten des Programms?

Danke und Gruß Jochen


----------



## thom (12. Feb 2010)

Die Frage habe ich nicht verstanden.

Thom


----------

