MySQL ?!

Status
Nicht offen für weitere Antworten.
T

Tomate_Salat

Gast
Hi @ all,

seit Tage durchsuche ich Foren und Google und wenn ich denke ich habs, funktioniert es doch nie! Ist MySQL beim JDBC dabei oder muss ich das iwie einfügen? (Wenn ja: WIE?)
Und könnte mir ijemand ein beispiel schreiben wie ich auf eine MySQL zugreife die z.B. folgende Daten hat:

User: foo
Passwort: bar
host: localhost
Datenbank: testDatenbank

im vorraus schonmal danke ;)

MFG

Tomate_Salat
 

tfa

Top Contributor
Nein, MySQL ist eine eigene Software, die du über die MySQL-Homepage herunterladen kannst und erst installieren musst. Einen JDBC-Treiber erhälst du dort auch.

Vielleicht fängst du erstmal mit einer in Java programmierten DB an, z.B. Derby. Das ist etwas weniger aufwendig. Ein Beispiel, wie man eine Derby-DB einbindet, findest du hier.
 
T

Tomate_Salat

Gast
Also muss ich die für Java nochmal extra runterladen, auch wenn ich die schon mit xampp verwende?

Eine andere DB zu wählen werde ich vllt mal ausprobieren nur fällt diese für mein aktuelles Projekt eher weg, denn ich schreibe an einer Website für meine Stufe und wollte ein Java-Programm schreiben, mit dem einfach News-Einträge an die Website senden und administrieren kann. Werde mir jetzt (zum 1000 mal^^) nochmal die MySQL seite anschauen
 

ARadauer

Top Contributor
seit Tage durchsuche ich Foren und Google und wenn ich denke ich habs, funktioniert es doch nie! Ist MySQL beim JDBC dabei
du beschäftigst dich tage mit mysql und jdbc und fragst ob mysql bei jdbc dabei ist? ist das dein ernst?
Java Database Connectivity ? Wikipedia lesen!
MySQL ? Wikipedia lesen!

ja lesen und nicht nur überfliegen!

jdbc ist nur die schnittstelle um mit java eine datenbank anzusprechen... das hat im grunde gar nix mit mysql zu tun, ich kann ja auch eine andere db ansprechen, warum soll das dann dabei sein?


Und könnte mir ijemand ein beispiel schreiben wie ich auf eine MySQL zugreife die z.B. folgende Daten hat:
[/qutoe]
läuft auf localhost bereits eine datenbank?
 
T

Tomate_Salat

Gast
T

Tomate_Salat

Gast
ja ich arbeite mit Eclipse...mit dem JAR-EINBINDEN hab ich so meine probleme, und deswegen auch leider keinen code
 

ARadauer

Top Contributor
ok in deinem projekt erstellst du dir ein verzeichnis libs (neben src und bin)
in eclipse, rechte maustaste aufs projekt -> Properties
Java Build Path -> Reiter Libraries - > Add Jars

Jar auswählen.. fertig
 
T

Tomate_Salat

Gast
ah ok, danke, wofür brauch ich den libs ordner?

ok, jz hat er den Treiber. Werde es jz mal versuchen das ganze iwie zu verwenden^^. Danke schonmal, habt mir bis jetzt sehr weiter geholfen ;)


-- EDIT --
Ok, habs mittels Inet-Tutorial gelöst:

Code:
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Connection;

public class Init {
    
    static Connection con = null;
    static Statement stmt = null;
    static ResultSet rs   = null;
    
    public static void main(String args[]){
        try {
            Class.forName( "com.mysql.jdbc.Driver" );
          }
          catch ( ClassNotFoundException e ) {
            e.printStackTrace();
            System.exit(1);
          }

          try{
            con = DriverManager.getConnection("jdbc:mysql://localhost/msg-2010","<user>","<passwort>" );

            stmt = con.createStatement();

            rs = stmt.executeQuery("SELECT * FROM news");

            while ( rs.next() ){
              System.out.println("ID:       "+rs.getString(1));
              System.out.println("Titel:    "+rs.getString(2));
              System.out.println("Inhalt:   "+rs.getString(3));
            }

            rs.close();
            stmt.close();
            con.close();
          } catch ( Exception e ){
           e.printStackTrace();
            System.exit(1);
       }   
    }
}
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
die speichern sich aber bei mir nicht in den libs ordner
 

Matt

Aktives Mitglied
Ich mag hier mal nen kleines Beispiel erstellen, wie das mit einer mySQL DB aussehen kann.
Dafür hab ich mal eben zwei Bilder erstellt. Ich entschuldige mich für die größe ^^, hoffe niemand gimpt mit nem Modem rum und fühlt sich genervt wegen den Bildern...

So dele, wie schon vorangegangene Personen erwähnt brauch man einige voraussetzungen, um via Java auf eine MySQL Datenbank zu zugreifen ^^. Bis vorkurzem hatte ich auch nicht soviel Plan davon, bis ich mir mal wirklich Zeit genommen hab, mich damit aktiv zu beschäftigen und auch mir persönlich Klassen etc. als Vorlage für andere Projekte zu erstellen.

Am ende des Posts werde ich auch auch zwei Links anhängen, wo man eine ältere Version meiner Datenbanken Klassen findet. ^^

Zu den Vorrausetzung, Ihr benötigt folgendes:

  • Eclipse oder eine andere Umgebung (Hier präsentiere ich jedoch mit Eclipse: Sun Deutschland > Startseite)
  • den JDBC Treiber von MySQL (MySQL :: MySQL Downloads)
  • Einen MySQL-Server mit Datenbank xD (Xampp hat eine gaaanz tolle ^^)
  • und ganz klar einbissl Syntax *rofl* (Die kriegt ihr aus eurem Hirn oder von irgendwelchen Personen ausm INET die meinen Sie wären die größten ^^)
So denn gehen wir davon aus, das ihr es geschafft habt Xampp zu installieren und auch Eclipse zu entpacken xD und sogar mit mühe und not den JDBC von MySQL zu downloaden, dann seid ihr schon verdammt weit gekommen!! Andere haben nicht die nerven für solch komplexe vorgänge!
Gehen wir nun auch davon aus, das Ihr es geschafft habt eine Datenbank anzulegen. Denn mit Hilfe von phpmyAdmin (in jedem Xampp dabei soweit ich weiss) ist das ja wohl kein großes ding. Gehen wir weiter. Ihr habt die Datenbank nun, Sie heisst MeineDatenbank. So nun braucht ihr natürlich auch noch Tabellen mit kleinen Beispiel Datensätzen. Wir erstellen einfach eine Tabelle User mit 2 Spalten und tragen Beispiel Datensätze ein.

So kümmern wir uns um den JDBC Treiber von MySQL :D (der mysql-connector-java-5.1.7 sollte der aktuelle sein)

Wenn wir das runtergeladene Archiv entpacken finden wir folgendes:

  • Verzeichnis - src
  • Verzeichnis - docs
  • mysql-connector-java-5.1.7-bin.jar
  • und einige andere Dateien die für uns momentan sehr sehr unwichtig sind...
Mir sind nun 3 Wege bekannt, was wir so effektives mit diesen Dingen tun können...


  1. Wir nehmen aus dem src-Verzechnis die Verzeichnisse com und org und kopieren sie in unser src Verzeichnis vom Projekt ^^.
  2. Wir erstellen in unserem Projektverzeichnis ein Unterverzeichnis mit der bezeichnung libs und kopieren die mysql-connector-java-5.1.7-bin.jar da rein.
  3. Wir kopieren die mysql-connector-java-5.1.7-bin.jar in das Verzeichnis ./jre/libs/ext und erweitern unser Java um das Archiv - hab nie gemacht - glaub ein Eintrag ins Classpath muss stattfinden ^^
Hier ein Bild um das mal anschaulich zu machen :D (die Fälle beziehen sich auf die Situation wie oben beschrieben)
1-2DB.jpg


Ich bevorzuge den zweiten Fall und werde daher auch auf diesen weiter eingehen ;).

Also wir haben die mysql-connector-java-5.1.7-bin.jar in das libs Verzeichnis unseres Projekts kopiert, damit ist diese aber noch nicht gänzlich in unser Projekt eingebunden.

Wir müssen unserem Projekt noch sagen, das dieses Jar existiert und er darauf zugreifen kann, sofern es nötig ist. Daher öffnen wir nun unser Eclipse und unser Projekt (wenn ein Projekt noch nicht existiert kann man keinen libs ordner erstellen, weil der Projektordner noch net existiert >_> ausser man ist ein Gimp und bastelt sich einen per Hand). Wir machen nun ein Rechtsklick auf unser Projekt, welches im Projekt-Explorer nun dargestellt wird und wählen Properties aus. Es öffnet sich ein Fenster und schon geht die Jagd nach dem Archiv los!!

Was nun kommt werde ich anhand eines Bildes verdeutlichen:
libs-jar.jpg


Wir erkennen gut das unter dem Punkt "Java Build Path", den Panelreiter Libaries auswählen müssen. Darauffolgend klicken wir auf "Add JARs" und ein kleines Fenster öffnet sich mal wieder. Dort sollten wir nun alle Archive entdecken, die sich in unserem "libs"-Verzeichnis befinden (egal ob .jar oder .zip ;D).

Ausgewählt und mit OK bestätigt sehen wir unser Ergebnis und es ist zufriedenstellend.

Alles weitere ist Code ^^.

Wie könnte so ein Code aussehen?

Ales erstes vllt wichtige Libs importieren als erstes:
[highlight="Java"]import java.io.*;
import java.sql.*; [/highlight]
Perfekt!
Und nun unseren Treiber, den müssen doch irgendwie benutzen!

[highlight="Java"]
treiber = "org.gjt.mm.mysql.Driver" ;
Class.forName( treiber ).newInstance();[/highlight]
Sieht doch gut aus!
Was noch? Achja die eigentliche Datenbank verbindung! Wie kann sowas aussehen?

[highlight="Java"]
String temp = "jdbc:mysql://"+dburl+"/"+dbname;
conn = DriverManager.getConnection(temp, usrname, password);[/highlight]
Hier zu beachten das die dburl und der dbname variablen sind (für jene die noch blutige anfänger sind), ebenso usrname und password. Diese sind in der regel immer Notwendig für den Zugriff auf mySQL-Servern ;).

Nun denn, wir haben schon ein ergebnis! Die Verbindungsinformationen sind in unserer Variable conn gespeichert! (Anmerkung: conn ist eine Variable von Datentyp Connection ;D)

[highlight="Java"]
Connection conn;[/highlight]


Aber nun muss es doch weiter gehen Oo oder etwa nicht? Na klar!!! Wir wollen dich eine Datenbank auslesen bzw. in sie rein schreiben! Doch wie kann man sowas machen???

Ganz einfach!
[highlight="Java"]public ResultSet getQuery(String sqlquery) throws SQLException{
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery( sqlquery );
return rs;
}[/highlight]

Eine typische public Methode :D, welches ein ResultSet zurückliefert ;) sofern es auch ein akzeptables Statement erhält.

Doch was tun mit dem ResultSet, wenn man es erstmal hat?

Beispiel wir haben einen Select-Befehlt benutzt (SQL sollte man jezz schon kennen >_<), so können wir das ResultSet wir ein Objekt benutzen ^^. Beispiel wir haben eine User Tabelle usr. Dann läuft das ganze so ;D

[highlight="Java"]ResultSet rs = getQuery("select * from usr;");
while(rs.next()){
String bla = (rs.getString("name"));
System.out.println(bla);
}[/highlight]
Was tun wir? Wir entnehmen unserer Tabelle die Spalte "name" und geben Zeile für Zeile den Inhalt aus :D!

So leicht kann das sein. Ich hoffe es war anschaulich genug hat mich immerhin ingesamt 1stunde gekostet xD andere würden dafür money ohne ende verlieren!!!

MfG
Matt

edit: total die Beispiele vergessen Oo
hier sind die Links:

 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
OMG, gute Arbeit, aber ich hatte es dann doch vorher schon kapiert gehabt. Eigentl. könntest du daraus einen eigenen Thread mit [tut] vorm Titel erstellen :p

Trotzdem vielen Dank für die Mühe, ich weis es zu schätzen ;)
 

Matt

Aktives Mitglied
OMG, gute Arbeit, aber ich hatte es dann doch vorher schon kapiert gehabt. Eigentl. könntest du daraus einen eigenen Thread mit [tut] vorm Titel erstellen :p

Trotzdem vielen Dank für die Mühe, ich weis es zu schätzen ;)

^^ naja wusste net das du schön gelöst hast xD war wohl etwas blind in dem moment...und was die Idee mit dem Thread angeht - kA ob ich des hier einfach reinknallen kann ^^ vllt sollte ich nochma die foren regeln studieren...

Und naja np xD

Matt
 
M

maki

Gast
2 Anmerkungen:
1. Wir nehmen aus dem src-Verzechnis die Verzeichnisse com und org und kopieren sie in unser src Verzeichnis vom Projekt ^^.
2. Wir erstellen in unserem Projektverzeichnis ein Unterverzeichnis mit der bezeichnung libs und kopieren die mysql-connector-java-5.1.7-bin.jar da rein.
3. Wir kopieren die mysql-connector-java-5.1.7-bin.jar in das Verzeichnis ./jre/libs/ext und erweitern unser Java um das Archiv - hab nie gemacht - glaub ein Eintrag ins Classpath muss stattfinden ^^
1. & 3. sind nicht zu empfehlen, oder besser: Kann man nur von abraten.

"org.gjt.mm.mysql.Driver" ist uralt und sollte nicht mehr verwendet werden, stattdessen nimmt man "com.mysql.jdbc.Driver" .
 

Matt

Aktives Mitglied
2 Anmerkungen:

1. & 3. sind nicht zu empfehlen, oder besser: Kann man nur von abraten.

"org.gjt.mm.mysql.Driver" ist uralt und sollte nicht mehr verwendet werden, stattdessen nimmt man "com.mysql.jdbc.Driver" .

Also da will ich dir nicht widersprechen ^^ ich bin auch ein freund der zweiten methode.

Was den Treiber angeht, will ich dir auch nicht widersprechen ^^ ich hab die zeilen aus meiner alten DB-Klasse einfach rauskopiert und da stand tatsächlich noch "org.gjt.mm.mysql.Driver"

Hab mir den Beitrag jetzt nicht genau angesehen. Eröffne doch ein Thema im Entwürfe-Ordner des FAQ-Unterforums... Entwürfe - java-forum.org

Danke für den Tipp werd ich mir gleich mal anschauen ^^
 
M

maki

Gast
Hoffe du verstehst meine Kritik nicht falsch, ist nicht böse gemeint ;)

Persönlich bion ich ein großer Freund von deiner Idee da einen FAQ Eintrag draus zu machen, haben diese Frage hier leider viel zu oft :)
 

Matt

Aktives Mitglied
Hoffe du verstehst meine Kritik nicht falsch, ist nicht böse gemeint ;)

Persönlich bion ich ein großer Freund von deiner Idee da einen FAQ Eintrag draus zu machen, haben diese Frage hier leider viel zu oft :)


Also ich denke nicht das ich sie falsch verstehe und ich fand sie absolut sachlich.

Was den FAQ eintrag angeht ;) siehst ja selbst bin dabei. Und ja war auch so geplant das ich mal ne art vorlage auch für andere erstelle auch wenn der Eintrag direkt ins FAQ bzw. die Idee bis vorhin nicht in den Sinn kam ^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
S Datenbank MySQL und Java Datenbankprogrammierung 8
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
D MySQL Connection richtig herstellen. Wie ? Datenbankprogrammierung 7
D Multiple Connection mit MySQL Datenbankprogrammierung 4
D MySQL Eibinden des "mysql-connector" in eine fertige Jar Datenbankprogrammierung 3
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
D MySQL Zeilen kumulieren Datenbankprogrammierung 8
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
K Servlet-MySQL DB Datenbankprogrammierung 2
X MySQL Json String in MySQL einfügen. Datenbankprogrammierung 20
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
D Datumsformat aus MySQL ändern Datenbankprogrammierung 15
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K MySQL LAN-MySQL Server mit XAMPP Datenbankprogrammierung 2
R ERModel der Datebanken (ORACLE,MySQL,MS-SQL usw) Datenbankprogrammierung 4
X MySQL In MySQL Funktionen erstellen, wenn Zelle leer dann andere Zelle ändern? Datenbankprogrammierung 9
K Anfängerfrage CSV in MySQL Datenbankprogrammierung 41
I MySQL Wert nachträglich bearbeiten Datenbankprogrammierung 1
N MySQL Datenbank lokal Datenbankprogrammierung 3
B MySQL: Port ändern über GUI? Wo und wie Port ändern? Datenbankprogrammierung 0
B MySQL installieren - silent / User anlegen Datenbankprogrammierung 3
X MySQL Verbindungdsaufbau MySql auf Ubuntu-Server Datenbankprogrammierung 10
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
M MySQL MySQL DATETIME-Import Datenbankprogrammierung 9
P MySQL Connection Global Datenbankprogrammierung 13
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
D MySQL Grundsätzliche Fragen zu MySQL Datenbankprogrammierung 3
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
M In MySql Datenbank schreiben Datenbankprogrammierung 6
D mySQL Timestamp in RegularTimePeriod bzw Second Datenbankprogrammierung 3
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
windl MySQL und HSQLDB Datenbankprogrammierung 4
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
F MySQL+ Netbeans: Datenbanken mit Automatisch generierten Entity Classes get und set Datenbankprogrammierung 2
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
S MySQL MySQL will einfach nicht, bitte um Rat Datenbankprogrammierung 4
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
Z MySQL mysql Facharbeit: Tipps und Ideen gesucht Datenbankprogrammierung 5
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
Z MySQL Shopsystem mit mysql und Java Datenbankprogrammierung 8
S [MySQL] Topliste Datenbankprogrammierung 2
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
J Dateien in MySQL speichern & indizieren Datenbankprogrammierung 2
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
K MySQL Datenbankbackups Datenbankprogrammierung 5
G MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
kaoZ HyperSQL vs. MYSQL Datenbankprogrammierung 4
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
V Internationalization mit MySql Datenbankprogrammierung 1
K Adressverwaltung mit MySql und Java? Datenbankprogrammierung 11
M Java Mysql verbinden Datenbankprogrammierung 3
L Zugriff auf lokal gespeicherte mySQL Datenbank Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben