Kako se povezati s MySQL bazom podataka s Javom

  • Lesley Fowler
  • 0
  • 5264
  • 1480
Oglas

Java pruža JDBC (Java DataBase Connectivity) kao dio Java SDK-a (Software Development Kit). Pomoću ovog API-ja, vrlo je jednostavno povezati se s relacijskom bazom podataka. Pa što je uopće baza podataka? [MakeUseOf objašnjava] Dakle, što je uopće baza podataka? [MakeUseOf Explains] Za programera ili tehnološkog entuzijasta, koncept baze podataka nešto je što se doista može shvatiti zdravo za gotovo. No mnogima je pojam same baze podataka pomalo tuđi… i obavljaju 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č MySQL baze podataka

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

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 pogonitelj JDBC.

Izrada uzorka baze podataka

Pod pretpostavkom da ste preuzeli MySQL bazu podataka i pravilno je postavili Kako instalirati MySQL bazu podataka u Windows Kako instalirati MySQL bazu podataka u Windows Ako često pišete aplikacije koje se povezuju na poslužitelje baze podataka, lijepo je ako znate kako instalirati MySQL bazu podataka na Windows računalu za potrebe testiranja. tamo gdje imate pristup, napravimo uzorku baze podataka kako bismo je mogli koristiti za povezivanje i izvršavanje upita.

Spojite se na bazu 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), morate 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 izrađenoj uzorci baze podataka.

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

Ili ako je baza podataka udaljena:

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

Sada biste trebali potvrditi da li se možete povezati s bazom podataka Kako instalirati MySQL bazu podataka u Windows Kako instalirati MySQL bazu podataka u Windows Ako često pišete aplikacije koje se povezuju s poslužiteljima baza podataka, lijepo je ako znate kako instalirati MySQL bazu podataka na vaš Windows uređaj za potrebe testiranja. 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 Java klase

Donosimo sada detalje kako se povezati s MySQL-om iz Java 10 Core Java koncepata koje biste trebali naučiti kada započeti 10 Core Java koncepata koje biste trebali naučiti kada započeti Bilo da pišete GUI, razvijate softver na strani poslužitelja ili mobilna aplikacija koja koristi Android, učenje Java dobro će vam poslužiti. Evo nekih osnovnih Java koncepata koji će vam pomoći da započnete s radom. , Prvi je korak učitavanje pogonitelja baze podataka. To se postiže pozivanjem sljedećeg na odgovarajuće mjesto.

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

Kôd može baciti iznimku, tako da ga možete uhvatiti ako ga namjeravate riješiti (kao što je formatiranje poruke o pogrešci za GUI).

isprobajte Class.forName ("com.mysql.jdbc.Driver");  hvatanje (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.Driver");  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 kako slijedi.

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 & lozinka = 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, ovdje je cjelovit program za provjeru povezanosti.

Uzorak javne klase static probaj Class.forName ("com.mysql.jdbc.Driver");  hvatanje (ClassNotFoundException ex) System.err.println ("Nije moguće učitati MySQL pogonitelj");  statički javni void main (String [] args) baca Izuzetak String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & 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.




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.