Oglas

Java zagotavlja JDBC (povezljivost Java DataBase) kot del Java SDK (Software Development Kit). Z uporabo tega API, zelo enostavno je povezati a relacijska baza podatkov Kaj je torej baza podatkov? [MakeUseOf pojasnjuje]Za programerja ali tehnološkega navdušenca je koncept baze podatkov nekaj, kar je res lahko samoumevno. Vendar pa je mnogim ljudem pojem baze podatkov nekoliko tuj ... Preberi več in izvajajo običajne operacije, kot so poizvedovanje, vstavljanje, posodabljanje in brisanje zapisov.

Medtem ko je jedrni API JDBC vključen v Java, povezava z določeno bazo podatkov, kot sta MySQL ali SQL Server, zahteva dodatno komponento, imenovano gonilnik baze podatkov. Ta gonilnik baze podatkov je komponenta programske opreme, ki pretvarja klice jedra JDBC v obliko, ki jo razume ta baza podatkov.

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

Gonilnik baze podatkov MySQL

Kot je razloženo zgoraj, za vzpostavitev povezave z bazo podatkov MySQL potrebujete gonilnik JDBC za MySQL. Temu se reče voznik Connector / J in ga je mogoče prenesti s

spletno mesto MySQL tukaj.

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

Ustvarjanje vzorčne baze podatkov

Ob predpostavki, da ste prenesli bazo podatkov MySQL in pravilno nastavite Kako namestiti bazo podatkov MySQL v sistem WindowsČe pogosto pišete aplikacije, ki se povezujejo na strežnike baz podatkov, je lepo, če veste, kako namestiti bazo podatkov MySQL na svoj sistem Windows za namene testiranja. Preberi več kjer imate dostop do njega, ustvarite vzorčno zbirko podatkov, da jo bomo lahko uporabili za povezovanje in izvajanje poizvedb.

Povežite se z bazo podatkov z uporabo odjemalca, ki ga izberete, in zaženite naslednje izjave, da ustvarite vzorčno bazo podatkov.

ustvarite vzorec baze podatkov; 

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).

Naslednje ustvari uporabnika z imenom testuser kdo se bo povezal z bazo podatkov MySQL iz istega stroja, kjer deluje lokalni gostitelj), z uporabo gesla securepwd.

ustvari uporabnika 'testuser' @ 'localhost', identificiranega z 'securepwd'; 

Če se povezujete z bazo podatkov, ki deluje na drugem stroju (imenovan Remotemc), morate uporabiti naslednje (Remotemc lahko ime gostitelja ali ip naslov):

ustvari uporabnika 'testuser' @ 'remotemc', ki ga je določil 'securepwd'; 

Ko smo ustvarili uporabniško ime in geslo, moramo omogočiti dostop do predhodno ustvarjene vzorčne baze podatkov.

dodeli vse na vzorcu. * to 'testuser' @ 'localhost'; 

Ali če je baza podatkov oddaljena:

dodeli vse na vzorcu. * to 'testuser' @ 'remotemc'; 

Zdaj bi morali preveriti, ali lahko povezati se z bazo podatkov Kako namestiti bazo podatkov MySQL v sistem WindowsČe pogosto pišete aplikacije, ki se povezujejo na strežnike baz podatkov, je lepo, če veste, kako namestiti bazo podatkov MySQL na svoj sistem Windows za namene testiranja. Preberi več kot uporabnik, ki ste ga pravkar ustvarili z istim geslom. Po povezovanju lahko zaženete tudi naslednje ukaze, da preverite, ali so dovoljenja pravilna.

ustvarite joe tabele (id int primarni ključ auto_increment, ime varchar (25)); kapljica mizo joe; 

Nastavite pot Java Class

Zdaj se podrobneje seznanimo s povezavo na MySQL Java 10 osnovnih pojmov Java, ki bi se jih morali naučiti, ko začneteNe glede na to, ali pišete GUI, razvijate programsko opremo na strani strežnika ali mobilno aplikacijo s sistemom Android, vam bo učenje Java dobro služilo. Tukaj je nekaj osnovnih konceptov Java, ki vam bodo pomagali začeti. Preberi več . Prvi korak je nalaganje gonilnika baze podatkov. To storite tako, da na primernem mestu prikličete naslednje.

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

Koda lahko vrže izjemo, zato jo lahko ujamete, če nameravate z njo obravnavati (na primer oblikovanje sporočila o napaki za GUI).

poskusite {Class.forName ("com.mysql.jdbc. Voznik "); } catch (ClassNotFoundException ex) {// tukaj uporabite izjemo. }

To kodo je zelo pogosto priklicati v statični blok v razredu, zato program takoj ne uspe, če gonilnika ni mogoče naložiti.

Vzorec javnega razreda {static {poskusi {Class.forName ("com.mysql.jdbc. Voznik "); } ulov (ClassNotFoundException ex) {System.err.println ("Ni mogoče naložiti gonilnika MySQL"); } } }

Če želite najti gonilnik, je treba program vnesti z gonilnikom JAR (naloženega in izvlečenega zgoraj), ki je vključen v pot razreda, kot sledi.

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

Povezava z MySQL iz Jave

Zdaj, ko smo prečrtali podrobnosti nalaganja gonilnika MySQL iz jave, se povežemo z bazo podatkov. Eden od načinov za ustvarjanje povezave z bazo je uporaba DriverManager.

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

In kaj je tisto jdbcUrl? Navaja podrobnosti povezave, vključno s strežnikom, na katerem se nahaja baza podatkov, uporabniško ime in tako naprej. Tu je vzorčni URL za naš primer.

String jdbcUrl = "jdbc: mysql: // localhost / sample? uporabnik = testuser & geslo = secrepwd "; 

Upoštevajte, da smo vključili vse parametre, potrebne za povezavo, vključno z imenom gostitelja (lokalni gostitelj), uporabniško ime in geslo. (Vključno z geslom, kot je to NI dobra praksa, glejte spodaj za alternative.)

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

Vzorec javnega razreda {static {poskusi {Class.forName ("com.mysql.jdbc. Voznik "); } ulov (ClassNotFoundException ex) {System.err.println ("Ni mogoče naložiti gonilnika MySQL"); }} statični javni neveljavni glavni (String [] args) vrže izjemo {String jdbcUrl = "jdbc: mysql: // localhost / sample? uporabnik = testuser & password = securepwd "; Povezava con = DriverManager.getConnection (jdbcUrl); System.out.println ("Povezana!"); con.close (); } }

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

poskusite (Povezava con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Povezana!"); }

Kot je navedeno zgoraj, je slabo vdelati geslo v URL JDBC. Za neposredno določitev uporabniškega imena in gesla lahko namesto tega uporabite naslednjo možnost povezave.

String jdbcUrl = "jdbc: mysql: // localhost / sample"; poskusite (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }

Poizvedovanje po zbirki podatkov iz Jave

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

izberite različico (); 

Poizvedba se v javi izvede na naslednji način. A Izjava objekt je ustvarjen in poizvedba se izvede s pomočjo ExecuteQuery () metoda, ki vrne a Rezultat Set.

String queryString = "izberite različico ()"; Izjava stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

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

medtem (rset.next ()) {System.out.println ("Različica:" + rset.getString (1)); }

Po obdelavi rezultatov je treba predmete zapreti.

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

In zajema vse, kar je povezava z MySQL iz Java in izvajanje preproste poizvedbe.

Ste v svojih projektih uporabljali JDBC z MySQL? Kakšne težave ste imeli z bazami podatkov in javo? Sporočite nam v spodnjih komentarjih.