Sådan opretter du forbindelse til en MySQL -database med Java

Sådan opretter du forbindelse til en MySQL -database med Java

Java leverer JDBC (Java DataBase -forbindelse) som en del af Java SDK (Software Development Kit). Brug dette ILD , det er meget let at oprette forbindelse til en relationsdatabase og udføre almindelige operationer såsom forespørgsel, indsættelse, opdatering og sletning af poster.





Mens kernens JDBC -API er inkluderet i java, kræver forbindelse til en bestemt database, f.eks. MySQL eller SQL Server, en ekstra komponent kendt som databasedriveren. Denne databasedriver er en softwarekomponent, der oversætter de centrale JDBC -opkald til et format, som databasen forstår.





hvordan man ændrer ladelyd på iphone

I denne artikel, lad os se på detaljerne for at oprette forbindelse til en MySQL -database og hvordan man udfører et par forespørgsler med den.





MySQL Database Driver

Som forklaret ovenfor har du brug for JDBC -driveren til MySQL for at kunne oprette forbindelse til en MySQL -database. Dette kaldes Connector/J -driveren og kan downloades fra MySQL -webstedet her.

Når du har downloadet ZIP -filen (eller TAR.GZ), skal du pakke arkivet ud og kopiere JAR -filen mysql-connector-java-bin.jar til et passende sted. Denne fil er påkrævet for at køre enhver kode, der bruger MySQL JDBC -driveren.



Oprettelse af en prøvedatabase

Forudsat at du har downloadet MySQL -databasen og sætte den ordentligt op hvor du har adgang til den, lad os oprette en eksempeldatabase, så vi kan bruge den til at forbinde og udføre forespørgsler.

Opret forbindelse til databasen ved hjælp af en klient efter eget valg, og kør følgende udsagn for at oprette en eksempeldatabase.





create database sample;

Vi har også brug for et brugernavn og en adgangskode for at kunne oprette forbindelse til databasen (medmindre du vil oprette forbindelse som administrator, hvilket generelt er en dårlig idé).

Følgende opretter en bruger ved navn testbruger hvem vil oprette forbindelse til MySQL -databasen fra den samme maskine, hvor den kører (angivet med lokal vært ), ved hjælp af adgangskoden securepwd .





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

Hvis du opretter forbindelse til en database, der kører på en anden maskine (navngivet fjernbetjening ), skal du bruge følgende ( fjernbetjening kan være et værtsnavn eller en ip -adresse):

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

Nu hvor brugernavnet og adgangskoden er oprettet, skal vi give adgang til eksempeldatabasen, der tidligere er oprettet.

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

Eller hvis databasen er fjern:

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

Du bør nu kontrollere, at du kan oprette forbindelse til databasen som den bruger, du lige har oprettet med den samme adgangskode. Du kan også køre følgende kommandoer efter tilslutning for at sikre, at tilladelser alle er korrekte.

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

Opsæt Java Class Path

Lad os nu komme ind på detaljerne om, hvordan du opretter forbindelse til MySQL fra Java. Det første trin er at indlæse databasedriveren. Dette gøres ved at påberåbe sig følgende på et passende sted.

hvordan man laver fotokollager på facebook
Class.forName('com.mysql.jdbc.Driver');

Koden kan kaste en undtagelse, så du kan fange den, hvis du har til hensigt at håndtere den (f.eks. Formatering af fejlmeddelelsen til et GUI).

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

Det er meget almindeligt at påberåbe denne kode i en statisk blok i klassen, så programmet mislykkes med det samme, hvis driveren ikke kan indlæses.

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

For at kunne finde driveren skal programmet naturligvis påberåbes med driveren JAR (downloadet og ekstraheret ovenfor) inkluderet i klassevejen som følger.

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

Opretter forbindelse til MySQL fra Java

Nu hvor vi har kvadreret detaljerne om indlæsning af MySQL -driveren fra java, lad os få forbindelse til databasen. En måde at oprette en databaseforbindelse er at bruge DriverManager .

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

Og hvad er jdbcUrl ? Det angiver detaljerne i forbindelsen, herunder serveren, hvor databasen er placeret, brugernavn og så videre. Her er en prøve -URL til vores eksempel.

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

Bemærk, at vi har inkluderet alle de parametre, der kræves for forbindelse, herunder værtsnavnet ( lokal vært ), brugernavn og adgangskode. (Inkludering af adgangskoden som denne er IKKE en god praksis, se nedenfor for alternativer.)

Brug dette jdbcUrl , her er et komplet program til at kontrollere forbindelse.

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();
}
}

Bemærk, at en databaseforbindelse er en værdifuld ressource i et program og skal lukkes korrekt som ovenfor. Ovenstående kode lukker imidlertid ikke forbindelsen i tilfælde af en undtagelse. For at lukke forbindelsen på en normal eller unormal exit, skal du bruge følgende mønster:

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

Som nævnt ovenfor er det en dårlig idé at integrere adgangskoden i JDBC -URL'en. For at angive brugernavn og adgangskode direkte kan du i stedet bruge følgende forbindelsesmulighed.

amazon prime video vs netflix vs hulu
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Forespørgsel på databasen fra Java

Nu hvor forbindelsen til databasen er etableret, lad os se, hvordan du udfører en forespørgsel, f.eks. Forespørgsel på databaseversionen:

select version();

En forespørgsel udføres i java som følger. EN Udmelding objekt oprettes, og en forespørgsel udføres ved hjælp af executeQuery () metode, der returnerer a Resultat Indstil .

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

Udskriv versionen fra Resultat Indstil som følger. 1 refererer til indeks for kolonnen i resultaterne, startende fra 1.

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

Efter behandling af resultaterne skal objekterne lukkes.

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

Og det dækker alt, hvad der er at oprette forbindelse til MySQL fra java og udføre en simpel forespørgsel.

Tjek også vores SQL -kommandoer snyder ark .

Del Del Tweet E -mail Er det okay at installere Windows 11 på en inkompatibel pc?

Du kan nu installere Windows 11 på ældre pc'er med den officielle ISO -fil ... men er det en god idé at gøre det?

Læs Næste
Relaterede emner
  • Programmering
  • Java
  • SQL
Om forfatteren Jay Sridhar(17 artikler udgivet) Mere fra Jay Sridhar

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere