Cum se conectează la o bază de date MySQL cu Java

Cum se conectează la o bază de date MySQL cu Java / Programare

Java oferă JDBC (Java DataBase Connectivity) ca parte a Java SDK (Software Development Kit). Folosind acest API, este foarte ușor să vă conectați la o bază de date relațională. Deci, ce este o bază de date, oricum? [Explicarea MakeUseOf] Deci ce este o bază de date, oricum? [Explică-i pe MakeUseOf] Pentru un programator sau un entuziast al tehnologiei, conceptul de bază de date este ceva care poate fi cu adevărat de acordat. Cu toate acestea, pentru mulți oameni, conceptul de bază de date în sine este puțin străin ... Citiți mai multe și efectuați operații comune cum ar fi interogarea, inserarea, actualizarea și ștergerea înregistrărilor.

În timp ce API-ul JDBC de bază este inclus în java, conectarea la o bază de date particulară, cum ar fi MySQL sau SQL Server, necesită o componentă suplimentară cunoscută sub denumirea de driver de bază de date. Acest driver de bază de date este o componentă software care traduce apelurile JDBC de bază într-un format înțeles de acea bază de date.

În acest articol, să examinăm detaliile conectării la o bază de date MySQL și cum să efectuăm câteva interogări cu aceasta.

Driverul bazei de date MySQL

După cum am explicat mai sus, pentru a vă putea conecta la o bază de date MySQL, aveți nevoie de driverul JDBC pentru MySQL. Acesta se numește driverul Connector / J și poate fi descărcat de pe site-ul MySQL aici.

După ce descărcați fișierul ZIP (sau TAR.GZ), extrageți arhiva și copiați fișierul JAR mysql-conector-java-bin.jar la o locație potrivită. Acest fișier este necesar pentru rularea oricărui cod care utilizează driverul JDBC MySQL.

Crearea unei baze de date Exemplu

Presupunând că ați descărcat baza de date MySQL și l-ați setat corect Cum să instalați o bază de date MySQL pe Windows Cum să instalați o bază de date MySQL pe Windows Dacă scrieți adesea aplicații care se conectează la serverele de baze de date, este bine dacă știți cum să instalați o bază de date MySQL pe mașina dvs. Windows pentru scopuri de testare. Aflați mai multe unde aveți acces la acesta, să creați o bază de date eșantion, astfel încât să o putem folosi pentru conectarea și efectuarea interogărilor.

Conectați-vă la baza de date utilizând un client la alegere și executați următoarele afirmații pentru a crea o bază de date eșantion.

creați eșantion de bază de date 

De asemenea, avem nevoie de un nume de utilizator și de o parolă pentru a vă conecta la baza de date (dacă nu doriți să vă conectați ca administrator, ceea ce este, în general, o idee proastă).

Următoarele creează un utilizator numit testuser care se va conecta la baza de date MySQL de la aceeași mașină în care rulează (indicată prin gazdă locală), folosind parola securepwd.

creați utilizator 'testuser' @ 'localhost' identificat prin 'securepwd'; 

Dacă vă conectați la o bază de date care rulează pe o altă mașină (numită remotemc), trebuie să utilizați următoarele (remotemc poate fi un nume de gazdă sau o adresă IP):

creați utilizator 'testuser' @ 'remotemc' identificat prin 'securepwd'; 

Acum, că numele de utilizator și parola au fost create, trebuie să acordăm acces la baza de date probă creată anterior.

acordați-le pe eșantion. * la 'testuser' @ 'localhost'; 

Sau, dacă baza de date este la distanță:

acordați-le pe eșantion. * la 'testuser' @ 'remotemc'; 

Ar trebui să verificați acum că vă puteți conecta la baza de date Cum să instalați o bază de date MySQL pe Windows Cum să instalați o bază de date MySQL pe Windows Dacă scrieți adesea aplicații care se conectează la serverele de baze de date, este bine dacă știți cum să instalați o bază de date MySQL pe mașina dvs. Windows pentru scopuri de testare. Citiți mai multe ca utilizatorul pe care tocmai l-ați creat cu aceeași parolă. De asemenea, puteți rula următoarele comenzi după conectare, pentru a vă asigura că toate permisiunile sunt corecte.

crea joe joe (id int cheie auto_increment, nume varchar (25)); drop table joe; 

Configurați calea de clasă Java

Să vedem acum cum să vă conectați la MySQL din Java 10 Concepte Java Core Trebuie să învățați când începeți 10 Concepte Java Core Trebuie să învățați când începeți Fie că scrieți o interfață grafică, aplicație mobilă folosind Android, învățarea Java vă va servi bine. Iată câteva concepte Java core pentru a vă ajuta să începeți. Citeste mai mult . Primul pas este să încărcați driverul bazei de date. Aceasta se face prin invocarea următoarelor într-o locație potrivită.

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

Codul ar putea arunca o excepție, astfel încât să îl puteți prinde dacă intenționați să o rezolvați (cum ar fi formatarea mesajului de eroare pentru o interfață grafică).

încercați Class.forName ("com.mysql.jdbc.Driver");  captură (ClassNotFoundException ex) // utilizați excepția aici 

Este foarte frecvent să invocați acest cod într-un bloc static din clasă, astfel că programul nu reușește imediat dacă driverul nu poate fi încărcat.

exemplul public de clasă static try Class.forName ("com.mysql.jdbc.Driver");  captură (ClassNotFoundException ex) System.err.println ("Imposibil de încărcat Driverul MySQL");  

Desigur, pentru a putea găsi driverul, programul trebuie invocat cu driver-ul JAR (descărcat și extras mai sus) inclus în calea de clasă după cum urmează.

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

Conectarea la MySQL Din Java

Acum că am depășit detaliile încărcării driverului MySQL din Java, permiteți-ne să ne conectăm la baza de date. O modalitate de a crea o conexiune de baze de date este de a utiliza DriverManager.

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

Și ce este jdbcUrl? Acesta indică detaliile conexiunii, inclusiv serverul în care se află baza de date, numele de utilizator și așa mai departe. Iată un exemplu de URL pentru exemplul nostru.

String jdbcUrl = "jdbc: mysql: // localhost / sample = user = testuser & password = secretpwd"; 

Observați că am inclus toți parametrii necesari pentru conectare, inclusiv numele de gazdă (gazdă locală), numele de utilizator și parola. (Includerea parolei ca aceasta nu este o practică bună, vezi mai jos pentru alternative.)

Folosind asta jdbcUrl, aici este un program complet pentru a verifica conectivitatea.

exemplul public de clasă static try Class.forName ("com.mysql.jdbc.Driver");  captură (ClassNotFoundException ex) System.err.println ("Imposibil de încărcat Driverul MySQL");  static public void principal (String [] args) aruncă Excepție String jdbcUrl = "jdbc: mysql: // localhost / sample = user = testuser & password = securepwd"; Conexiune con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close ();  

Rețineți că o conexiune de bază de date este o resursă prețioasă într-un program și trebuie închisă corespunzător ca mai sus. Cu toate acestea, codul de mai sus nu închide conexiunea în cazul unei excepții. Pentru a închide conexiunea la o ieșire normală sau anormală, utilizați următorul model:

încercați (Conexiune con = DriverManager.getConnection (jdbcUrl)) System.out.println ("Conectat!");  

După cum sa menționat mai sus, este o idee proastă să încorporați parola în URL-ul JDBC. Pentru a specifica direct numele de utilizator și parola, puteți folosi următoarea opțiune de conectare.

Stringul jdbcUrl = "jdbc: mysql: // localhost / sample"; încercați (Conexiune con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd"))  

Interogarea bazei de date din Java

Acum, când conexiunea la baza de date este stabilită, să vedem cum să efectuăm o interogare, cum ar fi interogarea versiunii bazei de date:

selectați versiunea (); 

O interogare este executată în java după cum urmează. A Afirmație obiect este creat și o interogare este executată folosind executeQuery () metoda care returnează a Setul de rezultate.

String queryString = "selectați versiunea ()"; Declarație stmt = con.createStatement (); Rezultatul rset = stmt.executeQuery (queryString); 

Imprimați versiunea din Setul de rezultate după cum urmează. 1 se referă la indexul coloanei în rezultate, începând de la 1.

în timp ce (rset.next ()) System.out.println ("Versiune:" + rset.getString (1));  

După procesarea rezultatelor, obiectele trebuie închise.

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

Și asta acoperă tot ceea ce este legat de MySQL de la java și efectuând o interogare simplă.

Ați folosit JDBC cu MySQL în proiectele dvs.? Ce probleme, dacă ați avut, ați avut cu bazele de date și java? Spuneți-ne în comentariile de mai jos.

Explorați mai multe despre: Java, SQL.