Slik kobler du til en MySQL-database med Java

Slik kobler du til en MySQL-database med Java / programmering

Java gir JDBC (Java DataBase Connectivity) som en del av Java SDK (Software Development Kit). Ved hjelp av denne API-en, er det veldig enkelt å koble til en relationsdatabase, så hva er en database, uansett? [MakeUseOf Forklarer] Så Hva er en database, uansett? [MakeUseOf Forklarer] For en programmerer eller en teknologientusiast er begrepet en database noe som virkelig kan tas for gitt. Men for mange mennesker er begrepet en database selv litt utenlandsk ... Les mer og utfør vanlige operasjoner som for eksempel spørring, innsetting, oppdatering og sletting av poster.

Mens kjernen JDBC API er inkludert i java, kreves tilkobling til en bestemt database, for eksempel MySQL eller SQL Server, en ekstra komponent kjent som database driver. Denne database driveren er en programvare komponent som oversetter kjernen JDBC samtaler til et format forstått av den databasen.

I denne artikkelen, la oss se på detaljene for å koble til en MySQL-database og hvordan å utføre noen spørsmål med den.

MySQL Database Driver

Som forklart ovenfor, for å kunne koble til en MySQL-database, trenger du JDBC-driveren for MySQL. Dette kalles Connector / J-driveren og kan lastes ned fra MySQL-siden her.

Når du laster ned ZIP-filen (eller TAR.GZ), trekker du ut arkivet og kopierer JAR-filen mysql-stikk-java-bin.jar til et passende sted. Denne filen er nødvendig for å kjøre en kode som bruker MySQL JDBC Driver.

Opprette en prøvedatabase

Forutsatt at du har lastet ned MySQL-databasen og satt opp riktig Hvordan installere en MySQL-database på Windows Slik installerer du en MySQL-database på Windows Hvis du ofte skriver programmer som kobler til databasetjenere, er det fint å vite hvordan du installerer en MySQL-database på din Windows-maskin for testing. Les mer der du har tilgang til det, la oss opprette en prøvedatabase, så vi kan bruke den til å koble til og utføre spørringer.

Koble til databasen ved hjelp av en klient etter eget valg, og kjør følgende setninger for å opprette en prøvedatabase.

lage database prøve; 

Vi trenger også et brukernavn og passord for å kunne koble til databasen (med mindre du vil koble til som administrator, som vanligvis er en dårlig ide).

Følgende oppretter en bruker som heter testuser hvem vil koble til MySQL-databasen fra samme maskin hvor den kjører (angitt av lokal vert), ved hjelp av passordet securepwd.

Opprett bruker 'testuser' @ 'localhost' identifisert av 'securepwd'; 

Hvis du kobler til en database som kjører på en annen maskin (oppkalt remotemc), må du bruke følgende (remotemc kan være et vertsnavn eller en ip-adresse):

opprett bruker 'testuser' @ 'remotemc' identifisert av 'securepwd'; 

Nå som brukernavnet og passordet er opprettet, må vi gi tilgang til prøvedatabasen som tidligere ble opprettet.

gi alle på prøve. * til 'testuser' @ 'localhost'; 

Eller, hvis databasen er ekstern:

gi alt på prøve. * til 'testuser' @ 'remotemc'; 

Du bør nå kontrollere at du kan koble til databasen. Slik installerer du MySQL-database på Windows. Slik installerer du MySQL-database på Windows. Hvis du ofte skriver programmer som kobler til databasetjenere, er det fint å vite hvordan du installerer en MySQL-database på Windows-maskinen din for testing. Les mer som brukeren du nettopp har opprettet med samme passord. Du kan også kjøre følgende kommandoer etter tilkobling, for å kontrollere at tillatelsene er alle riktige.

opprett tabell joe (id int primærnøkkel auto_increment, navn varchar (25)); slippe bord joe; 

Konfigurer Java Class Path

La oss nå komme inn på detaljer om hvordan du kobler til MySQL fra Java 10 Core Java Concepts Du bør lære når du kommer i gang 10 Core Java Concepts Du bør lære når du kommer i gang Uansett om du skriver en GUI, utvikler server-side programvare eller en mobil applikasjon ved hjelp av Android, vil læring Java tjene deg godt. Her er noen kjerne-Java-konsepter for å hjelpe deg med å komme i gang. Les mer . Det første trinnet er å laste database driveren. Dette gjøres ved å påkalle følgende på et passende sted.

Class.forName ( "com.mysql.jdbc.Driver"); 

Koden kan kaste et unntak, slik at du kan fange det hvis du har tenkt å håndtere det (for eksempel formatering av feilmeldingen for en GUI).

prøv Class.forName ("com.mysql.jdbc.Driver");  catch (ClassNotFoundException ex) // bruk unntaket her 

Det er veldig vanlig å påkalle denne koden i en statisk blokk i klassen, slik at programmet mislykkes umiddelbart hvis sjåføren ikke kan lastes inn.

offentlig klasse Eksempel static prøv Class.forName ("com.mysql.jdbc.Driver");  catch (ClassNotFoundException ex) System.err.println ("Kan ikke laste MySQL Driver");  

Selvfølgelig, for å kunne finne sjåføren, må programmet påberopes med driveren JAR (lastet ned og hentet over) som følger med i klassebanen som følger.

java -cp mysql-connector-java--bin.jar: ...  

Koble til MySQL fra Java

Nå som vi har kvadret detaljene om å laste MySQL-driveren fra Java, la oss få tilkobling til databasen. En måte å opprette en database tilkobling for å bruke DriverManager.

String jdbcUrl = ...; Tilkobling con = DriverManager.getConnection (jdbcUrl); 

Og hva er det jdbcUrl? Det angir detaljene for tilkoblingen, inkludert serveren der databasen er plassert, brukernavn og så videre. Her er en sample URL for vårt eksempel.

String jdbcUrl = "jdbc: mysql: // localhost / sample? User = testuser & password = secrepwd"; 

Legg merke til at vi har tatt med alle parametrene som kreves for tilkobling, inkludert vertsnavnet (lokal vert), brukernavn og passord. (Inkludert passordet som dette er IKKE en god praksis, se nedenfor for alternativer.)

Bruk dette jdbcUrl, Her er et komplett program for å sjekke tilkobling.

offentlig klasse Eksempel static prøv Class.forName ("com.mysql.jdbc.Driver");  catch (ClassNotFoundException ex) System.err.println ("Kan ikke laste MySQL Driver");  statisk offentlig tomgang hoved (String [] args) kaster Unntak String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = securepwd"; Tilkobling con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close ();  

Vær oppmerksom på at en databaseforbindelse er en verdifull ressurs i et program og må lukkes riktig som ovenfor. Ovennevnte kode lukker imidlertid ikke forbindelsen i tilfelle et unntak. For å lukke forbindelsen på en normal eller unormal utgang, bruk følgende mønster:

prøv (Connection con = DriverManager.getConnection (jdbcUrl)) System.out.println ("Connected!");  

Som nevnt ovenfor er det en dårlig ide å legge inn passordet i JDBC-nettadressen. For å angi brukernavn og passord direkte, kan du bruke følgende tilkoblingsalternativ i stedet.

String jdbcUrl = "jdbc: mysql: // localhost / sample"; prøv (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd"))  

Søke databasen fra Java

Nå som forbindelsen til databasen er etablert, la oss se hvordan du utfører en spørring, for eksempel å spørre databaseversjonen:

velg versjon (); 

En spørring utføres i Java som følger. EN Uttalelse objekt er opprettet og en forespørsel utføres ved hjelp av executeQuery () metode som returnerer a ResultSet.

String queryString = "velg versjon ()"; Erklæring stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

Skriv ut versjonen fra ResultSet som følger. 1 refererer til indeksen av kolonnen i resultatene, begynner fra 1.

mens (rset.next ()) System.out.println ("Version:" + rset.getString (1));  

Etter at resultatene er behandlet, må objektene være stengt.

rset.close (); stmt.close (); 

Og det dekker alt som er å koble til MySQL fra Java og utføre et enkelt spørsmål.

Har du brukt JDBC med MySQL i prosjektene dine? Hvilke problemer, hvis noen, hadde du med databaser og java? Vennligst gi oss beskjed i kommentarene nedenfor.

Utforsk mer om: Java, SQL.