Einstieg in Java Datenbank

Letavino

Aktives Mitglied
Guten Tag,

für ein Projekt bemötige ich eine Datenbank.
Nach einem querlesen der Thematik stellen sich mir einige grundlegende Fragen, die ihr mir hoffentlich beantworten könnt.

Das Umfeld: Das Programm mit Datenbank soll überschaubar klein gehalten werden auf diversen Computern laufen und daher wäre es gut, wenn es sich ohne großen Installationsaufwand realisieren ließe.
Ob nur Windows, oder auch andere betriebssysteme betroffen sind, kann ich zu diesem Zeitpunkt noch nicht sagen.

1.) Doch, da es so viele Datenbanken gibt, welche wäre hierfür am besten geeignet? MySQL? .mdb?

2.) Dafür benötige ich ja einen Treiber. Wird dieser letztendlich in die .jar hineingepackt, oder muss dieser auf jedem Pc neu installiert werden?

3.) Würde es funktionieren, im Endeffekt ein portables Programm zu haben, welches einfach aus einer Java Datei und einer Datenbank Datei besteht?

Ich hoffe, ihr könnt einem Anfänger helfen, meine Grundsatzfragen zu verstehen :)

Lg, Florian
 
M

maki

Gast
1., 2., 3. Derby/JavaDB, H2, HSQL, all diese Datenbanken können das was du willst, Treiber kommen als Jar.

JDBC als Grundlage ist Pflicht ;)
 

Letavino

Aktives Mitglied
Ich danke dir!
Dann werde ich mich wohl mal mit der Derby Datenbank ein wenig beschäftigen.
Auch, wenn das ganze für Anfänger doch schon etwas komplizierter wird, als es bei PHP der Fall war.

Kennt einer ein gutes Schritt für Schritt Tutorial, bei dem nicht allzuviel Vorwissen verlangt wird?
 
M

maki

Gast
Ich empfehle grundsätzlich die Doku zu lesen, dazu noch die Grundlagen: JDBC.

Mit Java solltest du dich aber schon auskennen, zB. den Unterschied zwischen checked und unchecked Exceptions solltest du nciht erst lernen wenn du darauf triffst, JDBC etc. sind Dinge dir nciht für Java Anfänger gemacht worden sind um die Sprache zu erlernen.

Dein Vergleich mit PHP lässt befürchten, dass du der Meinung bist WebApps sind mit Java ähnlich simpel zu erstellen, was Grundlegend falsch ist. Hoffe meine Befürchtung ist falsch :)
 

Letavino

Aktives Mitglied
@maki:
Prozedurales Programmieren beherrsche ich mittlerweile iegntlich relativ gut, deswegen habe ich einfach nach etwas gesucht, was ein Stück komplexer ist und weiter in die Welt des Javaprogrammierens eintauchen lässt, aber da war mein Schritt fürs erste wohl noch ein wenig zu groß. ;)

Ja, ich kann dich beruhigen.
Ich weiß, dass WebApps nicht unbedingt mit PHP programmierten Seiten zu vergleichen sind.
Ich brachte den Vergleich im bezug auf die Datenbankanbindung auch nur, weil ich mich vorher ziemlich mit PHP beschäftigt hatte und die SQL ja an sich gleich ist. (oder täusche ich mich da?)

Bei meinem jetzigen Projekt soll es sich aber auch im eine Offline Application handeln.

@andere:
Vielen Dank. Ich werde mich einmal durch die verschiedenen Seiten lesen und hoffen, dass sie mir weiter helfen. ;)
 
Zuletzt bearbeitet:

frapo

Bekanntes Mitglied
und die SQL ja an sich gleich ist. (oder täusche ich mich da?)

Nee, da liegst Du schon ganz richtig.
Es gibt vielleicht immer gewisse Feinheiten, doch die Mehrheit der DB-Hersteller ist bemüht Standards einzuhalten: SQL ? Wikipedia

Derby hat den Ruf sehr DB2 nah zu sein, bei H2 kann man verschiedene Kompatibilitäten auswählen:
H2 - Compatibility.

Bei meinem jetzigen Projekt soll es sich aber auch im eine Offline Application handeln.

Was meinst Du genau mit Offline? Konsolenanwendnung oder etwas mit GUI?
 
M

maki

Gast
Prozedurales Programmieren beherrsche ich mittlerweile iegntlich relativ gut, deswegen habe ich einfach nach etwas gesucht, was ein Stück komplexer ist und weiter in die Welt des Javaprogrammierens eintauchen lässt, aber da war mein Schritt fürs erste wohl noch ein wenig zu groß.
Würde dir raten dich erstmal konkret mit Java und OOAD zu befassen :)
Ist einfacher als zu versuchen Java, OOAD, JDBC etc. auf einmal zu erlernen.
 

Letavino

Aktives Mitglied
Was meinst Du genau mit Offline? Konsolenanwendnung oder etwas mit GUI?

Zum testen soll er erstmal eine Konsolenanwendung sein, das Thema GUI nehme ich mir danach vor, wenn ersteres soweit klappen sollte.
Mit Offline meinte ich, dass das Programm aud dem Desktop und nicht auf einem Server laufen soll, also als Applikation und nicht als Applet (ich hoffe, ich verwende die Begriffe gerade richtig).

Würde dir raten dich erstmal konkret mit Java und OOAD zu befassen :)
Ist einfacher als zu versuchen Java, OOAD, JDBC etc. auf einmal zu erlernen.

Durch das ganze Querlesen bekommt man aber teilweise schonmal einen recht guten Überblick über Java, was doch recht nützlich sein kann.
Aber ich werde versuchen, mich nicht zu übernehmen ;)

Noch eine Frage:
Beim Einbinden der Treiber lese ich über wieder vom Classpath.
Ist das einfach der Ordner, wo die Class Dateien abgelegt sind?
Also: "\workspace\Projekt\bin"?
Muss der Datenbanktreiber einfach dort hinein kopiert werden und fertig?
 
M

maki

Gast
Der Classpath ist eine grundlegende Eigenschaft von Java Software, damit bestimmt man, welche Jars, .class Dateien und Ressourcen einem Programm zur Verfügung stehen.

In deinen Eclipse Projekt erstellt du einen Ordner namens "lib" und kopierst dort die JDBC Treiber Jar rein, und andere Jars die du sonst noch so brauchst.
Dann legst du in den projekteigentschaften fest, dass diese JArs zum "Buildpath" gehören:
Rechtsklicks auf Projekt -> Java Build Path -> Reiter Libraries -> Add JARs Button und dann die Jar auswählen

Lesetipp: Setting the class path
Solltest (wie auch beschrieben) nicht eine Umgebungsvariable setzen und auch nix in JAVA_HOME/lib/ext kopieren.
 
Zuletzt bearbeitet von einem Moderator:

frapo

Bekanntes Mitglied
Zum testen soll er erstmal eine Konsolenanwendung sein, das Thema GUI nehme ich mir danach vor, wenn ersteres soweit klappen sollte.
Mit Offline meinte ich, dass das Programm aud dem Desktop und nicht auf einem Server laufen soll, also als Applikation und nicht als Applet (ich hoffe, ich verwende die Begriffe gerade richtig).

Hört sich schon sehr vernünftig an! :) Erst die Konsole, die GUI wird noch eine ganz andere Baustelle werden ;)

Noch eine Frage:
Beim Einbinden der Treiber lese ich über wieder vom Classpath.
Ist das einfach der Ordner, wo die Class Dateien abgelegt sind?
Also: "\workspace\Projekt\bin"?
Muss der Datenbanktreiber einfach dort hinein kopiert werden und fertig?

Ist schon so, der Classpath zeigt den Weg auf jars die Du einbinden möchtest. Der Pfad zu den SDK-Standard Klassen sollte dem System ja schon bekannt sein (weiß jetzt nicht welches OS Du hast).

Bei Projekten bietet sich vielleicht auch an ein Verzeichnis (z.b. namens lib) anzulegen, wo Du dann externe jars (also nicht zum SDK gehörig) ablegen kannst. Die jars in diesem Verzeichnis, musst Du dann Deiner IDE noch bekanntmachen. In dem Falle kümmert sich dann die IDE im Hintergrund um die weiteren Angaben zum Classpath.

edit: wie so oft war ich zu langsam ;)
 

Letavino

Aktives Mitglied
So, nun klappt es soweit :)

Und da die SQL Abfragen ja sehr ähnlich der in PHP verwendeten Abfragen sind, sollte ich den Rest auch hinbekommen ;)

Vielen Dank für die sehr gute und schnelle Hilfe!


:toll:
 
M

maki

Gast
Und da die SQL Abfragen ja sehr ähnlich der in PHP verwendeten Abfragen sind, sollte ich den Rest auch hinbekommen
Dazu dann noch ein Tipp: PreparedStatements
Verstehe sie, nutze sie, frickle deine SQL Statements nicht aus Strings und normalen Statements zusammen
 

Letavino

Aktives Mitglied
Wird für den Anfang zwar noch nicht so wichtig sein, aber man sollte sich ja gleich einen guten Stil angewöhnen. ;)

Vielen Dank nochmal!
 
M

maki

Gast
Ist spätestens dann wichtig wenn es um die Konvertierung von Parametern geht, zB. Date, das nimmt dir ein PreparedStatement ab, und natürlich wegen des Klassikers:
exploits_of_a_mom.png
 

Letavino

Aktives Mitglied
Hehe :D

Also wirklich lieber gleich mit Prepared Statements angewöhnen.
Hab ich mir auch gerade nochmal bei wiki ducrhgelesen, auch was das Thema SQL-Injections betrifft.

Danke. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Hibernate Einstieg Datenbankprogrammierung 5
M SQLite Einstieg mit SQLite, wohin mit der DLL? Datenbankprogrammierung 7
D my sql einstieg Datenbankprogrammierung 3
M [Anfänger] Hibernate-Einstieg Datenbankprogrammierung 12
A Einstieg in die Datenbankprogrammierung Datenbankprogrammierung 6
P Einstieg in die Datenbankprogrammierung Datenbankprogrammierung 2
6 Hilfe beim Einstieg Datenbankprogrammierung 15
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
P Reicht finally nicht um DB connections zu schließen in (altem) Java? Datenbankprogrammierung 4
A Java DB Server lässt sich nicht starten Datenbankprogrammierung 3
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
U SQL Server mit Java verbinden Datenbankprogrammierung 5
D SQLite Datenbank in Android Studio (Java) durchsuchen Datenbankprogrammierung 3
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Noobfrage: Konvertierung von SQL-Datentyp 'timestamp with time zone' in Java-Datentyp Datenbankprogrammierung 3
Zrebna Lediglich interne DB-Verbindungen (Connections) auslesen - mittels Java Datenbankprogrammierung 4
berserkerdq2 Was genau muss ich bei date eingeben, wenn ich in Java eine Spalte definiere, die date ist? Datenbankprogrammierung 1
berserkerdq2 Was kann passieren, wenn ich in java einstelle, dass der Fremdschüssel ein Attribut ist, welches selber kein Primärschlüssel ist? Datenbankprogrammierung 4
berserkerdq2 Foreign key einstellen java Datenbankprogrammierung 4
nikgo Java SQL Ausgabe in Liste o.ä. abspeichern um mit dem Ergbnis "zu arbeiten"? Datenbankprogrammierung 5
S Datenbankprogrammierung in Java unter NetBeans 12 funktioniert nicht! Datenbankprogrammierung 1
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
S ODBC Treiber in Java Editor einbinden Datenbankprogrammierung 3
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
H Java Class zum komprimieren von Jpeg-Images zum Einbinden in Oracle DB - Bild als blob (in und out) Datenbankprogrammierung 23
V SQLite java.sql.SQLException: no such column: Datenbankprogrammierung 18
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Slaylen Java List Suchen mit eigenem Generischen Datentyp Datenbankprogrammierung 10
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
D SQL Server Android App: 'int java.lang.String.length()' on a null object reference Datenbankprogrammierung 15
P USER Management in SQL übergreifend auf JAVA Programm Datenbankprogrammierung 1
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
N java SQL JAR - Probleme Datenbankprogrammierung 18
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
N SQL-Statement Java Variable in SQL DB einfügen Datenbankprogrammierung 1
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
T Java Spiel Daten speichern Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
L Mybatis Datenbankabfragen in Java Datenbankprogrammierung 1
H MariaDB-Zugriff mittels Java SE Datenbankprogrammierung 3
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
S Datenbank MySQL und Java Datenbankprogrammierung 8
S Beispiel-Blockchain + GUI mit Java erstellen Datenbankprogrammierung 0
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
Trèfle SQLite SQL-Java Änderungen ausgeben Datenbankprogrammierung 1
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
A MySQL Select und Insert in Java Datenbankprogrammierung 15
C Derby/JavaDB Auf Variable aus Link in java server page zugreifen Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
F MySQL Einfügen von Datensätzen über Java Datenbankprogrammierung 8
B CSV in Java einbinden und Rechnung Datenbankprogrammierung 7
L Speicherverbrauch Java Anwendung mit einer Datenbankanbindung Datenbankprogrammierung 19
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
S Datenbank/Java true/false Datenbankprogrammierung 8
S Java und SQL-Befehle Datenbankprogrammierung 6
L INSERT INTO Befehl in Java Datenbankprogrammierung 8
L Datenbankprogrammierung mit Java und phpMyAdmin Datenbankprogrammierung 4
Korvinus Java mit Cassandra verbinden Datenbankprogrammierung 18
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
D Installation von MariaDB in java und eclipse Datenbankprogrammierung 2
H Datenbank Export mit Java Datenbankprogrammierung 3
I MariaDB-Verbindung in JAVA Datenbankprogrammierung 11
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29
W Daten in Java intern abfragen Datenbankprogrammierung 1
W MySQL Ausgabe von Datenbank in Java-App Datenbankprogrammierung 6
D Java Datenbanken Datenbankprogrammierung 1
Y H2 H2 foreign key in Spark Java ausgeben Datenbankprogrammierung 1
J Java Eclipse Hilfe beim Programmieren Datenbankprogrammierung 7
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
C Mit asm laufende Java Anwendung manipulieren Datenbankprogrammierung 1
W Wie liest dieses Java-Programm der Compiler? Datenbankprogrammierung 3
K Java Datenbank auslesen Datenbankprogrammierung 8
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K HSQLDB .sql Script Aufruf über Java Datenbankprogrammierung 7
B Java Programm und Dantebank umlagern Datenbankprogrammierung 25
B MySQL bplaced Datenbank mit Java ansprechen Datenbankprogrammierung 11
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
F Java Objekte in einer Datenbank speichern Datenbankprogrammierung 4
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
O PostgreSQL Java Row Index erhalten Datenbankprogrammierung 1
dzim Cassandra Cluster DB und der Java-Treiber Datenbankprogrammierung 1
H Entity in Java implementieren Datenbankprogrammierung 13
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
D MySQL Many to Many Tabellen in Java abbilden? Datenbankprogrammierung 4
P Datanbank für Java-Programmierung Datenbankprogrammierung 10
F Java SQLite Error Datenbankprogrammierung 19
F SQL Datenbank an Java Code anbinden Datenbankprogrammierung 5
J Java 8 und Microsoft Access Database-Dateien(mdb) Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben