Oglas

Java pruža JDBC (povezivanje Java DataBase) kao dio Java SDK-a (Software Development Kit). Koristeći ovo API, to je vrlo lako spojiti na relacijska baza podataka Pa što je uopće baza podataka? [MakeUseOf objašnjava]Za programera ili ljubitelja tehnologije koncept baze podataka nešto je što se doista može shvatiti zdravo za gotovo. Međutim, mnogima je sam koncept baze podataka malo strani ... Čitaj više i obavljati uobičajene radnje poput upita, umetanja, ažuriranja i brisanja zapisa.

Dok je jezgrani JDBC API uključen u Java, povezivanje s određenom bazom podataka kao što je MySQL ili SQL Server zahtijeva dodatnu komponentu poznatu kao pokretač baze podataka. Ovaj pogonitelj baze podataka je softverska komponenta koja prevodi jezgre JDBC pozive u format koji razumije ta baza podataka.

U ovom ćemo članku pogledati detalje spajanja na MySQL bazu podataka i kako s njom izvršiti nekoliko upita.

Pokretač baze podataka MySQL

Kao što je gore objašnjeno, za povezivanje s MySQL bazom podataka potreban vam je upravljački program JDBC za MySQL. To se zove Connector / J driver i može se preuzeti s nje

instagram viewer
ovdje nalazi MySQL.

Nakon što preuzmete ZIP (ili TAR.GZ) datoteku, izvadite arhivu i kopirajte JAR datoteku mysql spojnica-java-bin.jar na prikladno mjesto. Ova je datoteka potrebna za pokretanje bilo kojeg koda koji koristi MySQL JDBC pogonitelj.

Izrada uzorka baze podataka

Pod pretpostavkom da ste preuzeli MySQL bazu podataka i namjesti pravilno Kako instalirati MySQL bazu podataka na WindowsAko često pišete aplikacije koje se povezuju s poslužiteljima baza podataka, lijepo je ako znate kako instalirati MySQL bazu podataka na svoj Windows uređaj za potrebe testiranja. Čitaj više tamo gdje imate pristup, napravimo uzorku baze podataka kako bismo je mogli koristiti za povezivanje i izvršavanje upita.

Povežite se s bazom podataka pomoću klijenta po vašem izboru i pokrenite sljedeće izjave za stvaranje uzorka baze podataka.

stvoriti uzorak baze podataka; 

Također nam trebaju korisničko ime i zaporka kako bismo se mogli povezati s bazom podataka (osim ako se ne želite povezati kao administrator, što je općenito loša ideja).

Sljedeće stvara korisnika po imenu testuser koji će se povezati s MySQL bazom podataka s istog stroja na kojem je pokrenut (naznačeno s localhost), pomoću lozinke securepwd.

stvoriti korisničkog 'testuser' @ 'localhost' identificiranog sa 'securepwd'; 

Ako se povezujete s bazom podataka koja radi na drugom stroju (po imenu remotemc), trebate koristiti sljedeće (remotemc može biti ime računala ili ip adresa):

stvoriti korisničkog 'testuser' @ 'remotemc' identificiranog sa 'securepwd'; 

Sada kada su stvoreno korisničko ime i lozinka, trebamo odobriti pristup prethodno pripremljenoj uzorci.

odobri sve na uzorku. * to 'testuser' @ 'localhost'; 

Ili ako je baza podataka udaljena:

odobri sve na uzorku. * to 'testuser' @ 'remotemc'; 

Sada biste trebali potvrditi da možete spojite se na bazu podataka Kako instalirati MySQL bazu podataka na WindowsAko često pišete aplikacije koje se povezuju s poslužiteljima baza podataka, lijepo je ako znate kako instalirati MySQL bazu podataka na svoj Windows uređaj za potrebe testiranja. Čitaj više kao korisnika kojeg ste upravo stvorili istom lozinkom. Nakon povezivanja možete pokrenuti i sljedeće naredbe da biste bili sigurni da su dopuštenja ispravna.

stvoriti joe tablice (id int primarni ključ auto_increment, ime varchar (25)); pada stol joe; 

Postavljanje puta klase Java

Pogledajmo sada detalje kako se povezati s MySQL-om Java 10 osnovnih Java koncepata koje biste trebali naučiti pri početku radaBilo da pišete GUI, razvijate softver na strani poslužitelja ili mobilnu aplikaciju putem Androida, učenje Java će vam dobro poslužiti. Evo nekoliko osnovnih Java koncepata koji će vam pomoći da započnete s radom. Čitaj više . Prvi je korak učitavanje pogonitelja baze podataka. To se postiže pozivanjem sljedećeg na odgovarajuće mjesto.

Class.forName ( "com.mysql.jdbc. Vozač"); 

Kôd može izbaciti iznimku, tako da ga možete uhvatiti ako ga namjeravate riješiti (poput formatiranja poruke o pogrešci za GUI).

pokušajte {Class.forName ("com.mysql.jdbc. Vozač"); } catch (ClassNotFoundException ex) {// ovdje koristite iznimku. }

Često se poziva ovaj kôd u statički blok klase, tako da program odmah prestaje ako se vozač ne može učitati.

Uzorak javne klase. {static {probaj {Class.forName ("com.mysql.jdbc. Vozač"); } hvatanje (ClassNotFoundException ex) {System.err.println ("Nije moguće učitati MySQL pogonitelj"); } } }

Naravno, da biste mogli pronaći upravljački program, program se mora pozvati s upravljačkim programom JAR (preuzetim i izdvojenim gore) uključenim u put klase na sljedeći način.

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

Spajanje na MySQL s Jave

Sad kad smo uklonili detalje učitavanja MySQL pogonitelja iz Java, neka se povežemo s bazom podataka. Jedan način stvaranja veze s bazom podataka koristi se DriverManager.

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

I što je jdbcUrl? Označava detalje veze, uključujući poslužitelj na kojem se nalazi baza podataka, korisničko ime i tako dalje. Evo primjera URL-a za naš primjer.

String jdbcUrl = "jdbc: mysql: // localhost / sample? Korisnik = testuser i password = secrepwd "; 

Imajte na umu da smo uključili sve parametre potrebne za povezivanje, uključujući ime računala (localhost), korisničko ime i zaporku. (Uključivanje ove lozinke NIJE dobra praksa, u nastavku pogledajte alternative.)

Koristeći ovo jdbcUrl, evo cjelovitog programa za provjeru povezanosti.

Uzorak javne klase. {static {probaj {Class.forName ("com.mysql.jdbc. Vozač"); } hvatanje (ClassNotFoundException ex) {System.err.println ("Nije moguće učitati MySQL pogonitelj"); }} static public void main (String [] args) baca Izuzetak {String jdbcUrl = "jdbc: mysql: // localhost / sample? Korisnik = testuser i password = securepwd "; Connection con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close (); } }

Imajte na umu da je veza s bazom podataka dragocjen resurs u programu i mora se pravilno zatvoriti kao gore. Gore navedeni kôd, u slučaju iznimke, ne zatvara vezu. Da biste zatvorili vezu na normalnom ili nenormalnom izlazu, koristite sljedeći obrazac:

pokušajte (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Povezano!"); }

Kao što je gore spomenuto, loša je ideja umetanje lozinke u JDBC URL. Da biste izravno odredili korisničko ime i lozinku, umjesto toga možete upotrijebiti sljedeću opciju veze.

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

Upiti baze podataka s Jave

Sada kada je uspostavljena veza s bazom podataka, pogledajmo kako izvršiti upit, poput upita za verziju baze podataka:

odaberite verziju (); 

Upit se u Javi izvršava na sljedeći način. izjava se kreira objekt i upit se izvršava pomoću executeQuery () metoda koja vraća a ResultSet.

String queryString = "odaberite verziju ()"; Izjava stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

Ispišite verziju s ResultSet kako slijedi. 1 odnosi se na indeks stupca u rezultatima, počevši od 1.

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

Nakon obrade rezultata, predmete je potrebno zatvoriti.

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

A to pokriva sve što je spajanje na MySQL iz Java i izvršavanje jednostavnog upita.

Jeste li JDBC koristili sa MySQL u svojim projektima? Koje probleme ste imali s bazama podataka i javom? Javite nam u komentarima u nastavku.