MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge denne database end f.eks. Microsoft Access databasen, men den har nogle funkitonaliteter som vi har brug for, når vi skal lære om databaser, som Access ikke har. Her mener jeg specielt den måde man kan oprette tabeller ved at bruge SQL sætninger, som er en funktionalitet som MySQL har, men Access ikke har. Hvad betyder SQL? Det er det sprog som vi bruger når vi laver tabeller, udtrækker data fra tabellerne osv. I MySQL kommer vi til at bruge SQL sætninger direkte, men vi kan også bruge SQL sætninger fra en JAVA applikation, og det skal vi også bruge på dette semester.
Hvordan får jeg MySQL? 1. Det første du skal gøre er at downloade MySQL Serveren. Det gøres ved at gå til dette link... http://dev.mysql.com/downloads/mysql/5.0.html Siden skal du gå til Windows (x86) ZIP/Setup.EXE og vælge Download. Og når den er færdig downloadet så installerer du den. 2. Men vi er ikke færdige endnu. Som situationen er nu så kan vi godt bruge MySQL nu, men vi kan ikke arbejde fra JAVA endnu. Vi mangler nemlig en driver imellem JAVA og MySQL. Den henter du herfra... http://dev.mysql.com/downloads/connector/j/5.0.html Siden skal du gå til Source and Binaries (zip) og vælge Download. Når den er kommet ned, skal du pakke den ud.
3. Men nu kommer det svære. Du skal finde det sted hvor Java kører fra og lægge filerne(driveren) der. Jeg har gjordt det sådan. C:\Program Files\Java... Under denne Java mappe har jeg så flere Jdk er og Jre er. Det ser sådan ud hos mig... Jeg viste ikke hvilken af de 4 mapper jeg skulle lægge driveren i, så jeg prøvede med den første, nemlig jdk1.5.0_10. Og det viste sig at være den rigtige. Ellers kan du bare lægge driveren i alle. Men lad mig vise dig hvordan jeg gjorde. Som du kan se, så tog jeg KUN mysql-connector-java-5.0.4-bin filen og lagde den ind i denne ext mappe. Jeg måtte genstarte for at det skulle fungere. Det kan være en god ide, at genstarte komputeren nu.
Vi kører MySQL for første gang. Når alt er installeret, så kan vi gå igang. For at begynde med MySQL skal du gå til... Start>All Programs>MySQL>MySQL Server 5.0>MySQL Command Line Client. Når du aktiverer Clienten kommer der er promt frem. Der står at du skal indtaste password, prøv først og tryk ENTER. Hvis det ikke virker, så skal du bruge den kode som du valgte ved installationen af MySQL serveren. Resultatet bør ligne dette... Når du er kommet her til, så er MySQL kørende og du er klar. For at starte med at arbejde med MySQL, er det godt at bruge den medfølgende beskrivelse. Den finder du samme sted som Clienten ligger, men vælg nu MySQL Manual, du kan se dette på billeded ovenover. Du skal gå til, 3.3. Creating and Using a Database.
Det først som dette afsnit gør, er at taste denne tekst ind i clienten... SHOW DATABASES; Og så trykker vi ENTER, og resultatet ses nedenfor. Som du kan se ovenover, så har jeg på min komputer 4 databaser. Du har helst 3, men det er fordi jeg allerede har lavet en ny, nemlig den som afsnittet hjælper os med, og som kaldes menagerie. Jeg forventer her at du laver denne database også, og prøver at lege lidt med indtastning af data i menagerie databasen. Når du har gjordt det, kan du gå videre til JAVA delen af denne tutorial. Jeg har fyldt lidt data ind i pet tabellen, det ser sådan ud...se også hvordan jeg starter hele databasen, ved først at bruge USE komandoen.
JAVA til MySQL Så er vi kommet til Java delen, hvor vi skal lave en lille applikation til at få forbindelse til vores menagerie database og udtrække data fra pet tabellen. Jeg har brugt BlueJ til dette eksempel. Her kommer så koden jeg har brugt... import java.io.*; import java.sql.*; import java.util.*; public class JavaToMySQL Connection con; public JavaToMySQL() //-----------------Finder Driveren her------------------------------------------------------------- try Class.forName("org.gjt.mm.mysql.Driver"); System.out.println("MySQL Driver Found"); catch (java.lang.classnotfoundexception e) System.out.println("MySQL JDBC Driver not found... "); //-----------------Kontakter MySQL databasen her--------------------------------------------- String url = ""; try url = "jdbc:mysql://" + "localhost" + ":3306/" + "menagerie"; con = DriverManager.getConnection(url, "root", "fisk");//jeg har brugt fisk som kode. Denne //adgangskode, var den som jeg valgte ved installeringen af MySQL serveren. System.out.println("Connection established to " + url + "..."); catch (java.sql.sqlexception e) System.out.println("Connection couldn't be established to " + url + e.tostring()); //-----------------Udtrækker data fra databasen her--------------------------------------------- try Statement cs = con.createstatement(); ResultSet sqls = cs.executequery("select * FROM pet"); while (sqls.next()) String id = (sqls.getobject("name").tostring()); String data = (sqls.getobject("owner").tostring()); System.out.println(id + " " + data); sqls.close(); catch (SQLException e) System.out.println ("Error executing sql statement");
Resultatet af at køre denne kode ser sådan ud... Som koden siger, så får jeg udskrevet name og owner fra pet tabellen, og det er også lige det som resultatet viser. Tak for denne gang.