Hvordan koble til en MySQL -database med Java

Hvordan koble til en MySQL -database med Java

Java gir JDBC (Java DataBase -tilkobling) som en del av Java SDK (Software Development Kit). Bruker dette BRANN , det er veldig enkelt å koble til en relasjonsdatabase og utføre vanlige operasjoner som spørring, innsetting, oppdatering og sletting av poster.





Selv om kjerne -JDBC -API -et er inkludert i java, krever tilkobling til en bestemt database som MySQL eller SQL Server en ekstra komponent kjent som databasedriveren. Denne databasedriveren er en programvarekomponent som oversetter kjerne -JDBC -anropene til et format som forstås av databasen.





stoppkode defekt maskinvare ødelagt side

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





MySQL -databasedriveren

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 -nettstedet her.

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



Opprette en prøvedatabase

Forutsatt at du har lastet ned MySQL -databasen og sette den opp ordentlig der du har tilgang til den, la oss lage en eksempeldatabase slik at vi kan bruke den til å koble til og utføre forespørsler.

Koble til databasen ved hjelp av en klient du ønsker, og kjør følgende uttalelser for å lage en eksempeldatabase.





create database sample;

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

Følgende oppretter en bruker som heter testbruker som vil koble til MySQL -databasen fra den samme maskinen der den kjører (angitt med lokal vert ), ved å bruke passordet securepwd .





create user 'testuser'@'localhost' identified by 'securepwd';

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

create user 'testuser'@'remotemc' identified by 'securepwd';

Nå som brukernavnet og passordet er opprettet, må vi gi tilgang til eksempeldatabasen som er opprettet tidligere.

grant all on sample.* to 'testuser'@'localhost';

Eller hvis databasen er ekstern:

grant all on sample.* to 'testuser'@'remotemc';

Du bør nå bekrefte at du kan koble til databasen som brukeren du nettopp opprettet med det samme passordet. Du kan også kjøre følgende kommandoer etter tilkobling, for å sikre at tillatelsene er alle riktige.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Sett opp Java Class Path

La oss nå gå inn på detaljene om hvordan du kobler til MySQL fra Java. Det første trinnet er å laste inn databasedriveren. Dette gjøres ved å påkalle følgende på et passende sted.

hvordan du finner din hensikt i livet quiz
Class.forName('com.mysql.jdbc.Driver');

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

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

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

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

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

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

Koble til MySQL fra Java

Nå som vi har kvadret bort detaljene for å laste MySQL -driveren fra java, la oss få forbindelse til databasen. En måte å opprette en databasetilkobling på er å bruke DriverManager .

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

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

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

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

Bruker dette jdbcUrl , her er et komplett program for å sjekke tilkoblingen.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

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

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

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

hvordan få nintendont på wii
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Spørre databasen fra Java

Nå som tilkoblingen til databasen er opprettet, la oss se hvordan du utfører en spørring, for eksempel spørring av databaseversjonen:

select version();

En forespørsel utføres i java som følger. EN Uttalelse objektet opprettes og en spørring utføres ved hjelp av executeQuery () metode som returnerer a ResultatSett .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

Skriv ut versjonen fra ResultatSett følgende. 1 refererer til indeksen til kolonnen i resultatene, fra 1.

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

Etter å ha behandlet resultatene må objektene lukkes.

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

Og det dekker alt det er å koble til MySQL fra java og utføre en enkel spørring.

Sjekk også vår SQL -kommandoer jukseark .

Dele Dele kvitring E -post Er det greit å installere Windows 11 på en inkompatibel PC?

Du kan nå installere Windows 11 på eldre PCer med den offisielle ISO -filen ... men er det en god idé å gjøre det?

Les neste
Relaterte temaer
  • Programmering
  • Java
  • SQL
Om forfatteren Jay Sridhar(17 artikler publisert) Mer fra Jay Sridhar

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere