Kako se povezati z bazo podatkov MySQL z Javo

Kako se povezati z bazo podatkov MySQL z Javo

Java ponuja JDBC (povezljivost z bazo podatkov Java) kot del Java SDK (Komplet za razvoj programske opreme). Z uporabo tega POŽAR , zelo enostavno se je povezati z relacijsko bazo podatkov in izvajati skupne operacije, kot so poizvedovanje, vstavljanje, posodabljanje in brisanje zapisov.





Medtem ko je osrednji JDBC API vključen v javo, povezovanje z določeno bazo podatkov, kot sta MySQL ali SQL Server, zahteva dodatno komponento, imenovano gonilnik zbirke podatkov. Ta gonilnik zbirke podatkov je komponenta programske opreme, ki prevede osnovne klice JDBC v obliko, ki jo ta baza podatkov razume.





pretočno predvajajte igre iz računalnika na televizijo

V tem članku si oglejmo podrobnosti povezovanja z bazo podatkov MySQL in kako z njo opraviti nekaj poizvedb.





Gonilnik zbirke podatkov MySQL

Kot je razloženo zgoraj, za povezavo z bazo podatkov MySQL potrebujete gonilnik JDBC za MySQL. Imenuje se gonilnik Connector/J in ga lahko prenesete s spletnega mesta spletno mesto MySQL tukaj.

Ko prenesete datoteko ZIP (ali TAR.GZ), izvlecite arhiv in kopirajte datoteko JAR mysql-connector-java-bin.jar na primerno lokacijo. Ta datoteka je potrebna za zagon katere koli kode, ki uporablja gonilnik JDBC MySQL.



Ustvarjanje vzorčne zbirke podatkov

Ob predpostavki, da ste prenesli bazo podatkov MySQL in pravilno nastavite kjer imate dostop do nje, ustvarite vzorčno zbirko podatkov, da jo bomo lahko uporabili za povezovanje in izvajanje poizvedb.

Povežite se z zbirko podatkov z izbranim odjemalcem in zaženite naslednje stavke, da ustvarite vzorčno zbirko podatkov.





create database sample;

Za povezavo z bazo podatkov potrebujemo tudi uporabniško ime in geslo (razen če se želite povezati kot skrbnik, kar je na splošno slaba ideja).

To ustvari uporabnika z imenom testuser ki se bo povezal z bazo podatkov MySQL z istega stroja, na katerem se izvaja (označeno z lokalni gostitelj ) z geslom securepwd .





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

Če se povezujete z bazo podatkov, ki deluje na drugem računalniku (z imenom remotemc ), morate uporabiti naslednje ( remotemc lahko ime gostitelja ali naslov IP):

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

Zdaj, ko sta uporabniško ime in geslo ustvarjena, moramo odobriti dostop do vzorčne zbirke podatkov, ki smo jo ustvarili prej.

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

Ali, če je zbirka podatkov oddaljena:

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

Zdaj morate preveriti, ali lahko povežite se z bazo podatkov kot uporabnik, ki ste ga pravkar ustvarili z istim geslom. Po povezavi lahko zaženete tudi naslednje ukaze, da se prepričate, ali so dovoljenja pravilna.

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

Nastavite pot razreda Java

Pojdimo zdaj k podrobnostim, kako se povezati z MySQL iz Jave. Prvi korak je nalaganje gonilnika zbirke podatkov. To naredite tako, da na primernem mestu pokličete naslednje.

izjema sistemske niti ni obdelana za posodobitev sistema Windows 10
Class.forName('com.mysql.jdbc.Driver');

Koda bi lahko povzročila izjemo, zato jo lahko ujamete, če se nameravate z njo spopasti (na primer oblikovanje sporočila o napaki za grafični vmesnik).

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

To kodo je zelo pogosto poklicati v statičnem bloku v razredu, zato program takoj odpove, če gonilnika ni mogoče naložiti.

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

Seveda, če želite najti gonilnik, morate program priklicati z gonilnikom JAR (naložen in izvlečen zgoraj), ki je vključen v pot razreda, kot sledi.

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

Povezovanje z MySQL iz Jave

Zdaj, ko smo razvrstili podrobnosti o nalaganju gonilnika MySQL iz jave, se povežimo z bazo podatkov. Eden od načinov za ustvarjanje povezave z bazo podatkov je uporaba DriverManager .

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

In kaj je jdbcUrl ? Označuje podrobnosti o povezavi, vključno s strežnikom, kjer se nahaja zbirka podatkov, uporabniško ime itd. Tukaj je vzorčni URL za naš primer.

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

Upoštevajte, da smo vključili vse potrebne parametre za povezavo, vključno z imenom gostitelja ( lokalni gostitelj ), uporabniško ime in geslo. (Vključitev takšnega gesla NI dobra praksa, alternativne možnosti najdete spodaj.)

Z uporabo tega jdbcUrl , tukaj je celoten program za preverjanje povezljivosti.

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

Upoštevajte, da je povezava z zbirko podatkov dragocen vir v programu in jo je treba ustrezno zapreti, kot je opisano zgoraj. Zgornja koda pa v primeru izjeme ne zapre povezave. Če želite prekiniti povezavo na običajnem ali nenormalnem izhodu, uporabite naslednji vzorec:

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

Kot je navedeno zgoraj, je vstavljanje gesla v URL JDBC slaba ideja. Če želite neposredno določiti uporabniško ime in geslo, lahko uporabite naslednjo možnost povezave.

kako obnoviti posodobitev ustvarjalcev sistema Windows 10
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Poizvedovanje po zbirki podatkov iz Jave

Zdaj, ko je povezava z bazo podatkov vzpostavljena, poglejmo, kako izvesti poizvedbo, na primer poizvedovanje o različici baze podatkov:

select version();

Poizvedba se v javi izvede na naslednji način. A Izjava object je ustvarjen in poizvedba se izvede z uporabo executeQuery () metoda, ki vrne a ResultSet .

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

Natisnite različico iz ResultSet kot sledi. 1 se nanaša na indeks stolpca v rezultatih, začenši z 1.

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

Po obdelavi rezultatov je treba predmete zapreti.

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

In to zajema vse, kar je mogoče povezati z MySQL iz jave in izvesti preprosto poizvedbo.

Oglejte si tudi našo Geslo za ukaze SQL .

Deliti Deliti Cvrkutati E-naslov Ali je v redu namestiti Windows 11 na nezdružljiv računalnik?

Zdaj lahko namestite Windows 11 na starejše računalnike z uradno datoteko ISO ... vendar je to dobro?

Preberite Naprej
Sorodne teme
  • Programiranje
  • Java
  • SQL
O avtorju Jay Sridhar(17 objavljenih člankov) Več od Jaya Sridharja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite