Publicitate
Java oferă JDBC (Java DataBase Connectivity) ca parte a Java SDK (Software Development Kit). Folosind aceasta API-ul, este foarte ușor să vă conectați la o baza de date relațională Deci, ce este o bază de date, oricum? [FaceUseOf Explică]Pentru un programator sau un pasionat de tehnologie, conceptul unei baze de date este ceva ce poate fi cu adevărat luat. Cu toate acestea, pentru mulți oameni conceptul unei baze de date în sine este un pic străin ... Citeste mai mult și efectuați operațiuni comune, cum ar fi interogarea, inserarea, actualizarea și ștergerea înregistrărilor.
În timp ce API-ul principal JDBC este inclus în Java, conectarea la o bază de date particulară, cum ar fi MySQL sau SQL Server, necesită o componentă suplimentară cunoscută sub numele 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ă ne uităm la detaliile conectării la o bază de date MySQL și cum să efectuați câteva întrebă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 într-o locație potrivită. Acest fișier este necesar pentru a rula orice cod care utilizează driverul MySQL JDBC.
Crearea unei baze de date de probe
Presupunând că ai descărcat baza de date MySQL și setați-l corect Cum se instalează o bază de date MySQL pe WindowsDacă scrii dese aplicații care se conectează la serverele de baze de date, este plăcut dacă știi cum să instalezi o bază de date MySQL pe mașina ta Windows pentru scopuri de testare. Citeste mai mult unde aveți acces la aceasta, permiteți-ne să creăm o bază de date de probă, astfel încât să o putem folosi pentru conectarea și efectuarea de întrebări.
Conectați-vă la baza de date utilizând un client la alegere și executați următoarele declarații pentru a crea o bază de date de probă.
creați un eșantion de bază de date;
De asemenea, avem nevoie de un nume de utilizator și o parolă pentru a ne putea conecta la baza de date (cu excepția cazului în care doriți să vă conectați ca administrator, ceea ce este, în general, o idee proastă).
Următoarele creează un utilizator numit testuser cine se va conecta la baza de date MySQL de la aceeași mașină unde rulează (indicată de gazdă locală), folosind parola securepwd.
creați utilizatorul „testuser” @ „localhost” identificat de „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 utilizatorul „testuser” @ „remotemc” identificat de „securepwd”;
Acum că numele de utilizator și parola au fost create, trebuie să acordăm acces la baza de date de probă creată anterior.
acordați toate pe eșantion. * către „testuser” @ „localhost”;
Sau, dacă baza de date este la distanță:
acordați toate pe eșantion. * către „testuser” @ „remotemc”;
Acum ar trebui să verificați că puteți conectați-vă la baza de date Cum se instalează o bază de date MySQL pe WindowsDacă scrii dese aplicații care se conectează la serverele de baze de date, este plăcut dacă știi cum să instalezi o bază de date MySQL pe mașina ta Windows pentru scopuri de testare. Citeste mai mult ca utilizator pe care tocmai l-ai creat cu aceeași parolă. De asemenea, puteți rula următoarele comenzi după conectare, pentru a vă asigura că permisiunile sunt corecte.
create table joe (id int cheie primară auto_increment, nume varchar (25)); drop table joe;
Configurați calea Java Class
Haideți să intrăm acum în detalii despre cum să vă conectați la MySQL de la Java 10 concepte fundamentale Java pe care trebuie să le înveți la începutIndiferent dacă scrieți o GUI, dezvoltați software pentru partea serverului sau o aplicație mobilă care utilizează Android, învățarea Java vă va servi bine. Iată câteva concepte fundamentale Java care vă ajută să începeți. Citeste mai mult . Primul pas este încărcarea driverului bazei de date. Acest lucru se realizează invocând următoarele într-un loc adecvat.
Class.forName ( "com.mysql.jdbc. Conducător auto");
Codul ar putea arunca o excepție, astfel încât să o poți prinde dacă intenționezi să o faci față (cum ar fi formatarea mesajului de eroare pentru o GUI).
încercați {Class.forName ("com.mysql.jdbc" Conducător auto"); } catch (ClassNotFoundException ex) {// utilizați excepția aici. }
Este foarte comun să invocați acest cod într-un bloc static din clasă, astfel încât programul să eșueze imediat dacă driverul nu poate fi încărcat.
proba publică de clasă. {static {try {Class.forName ("com.mysql.jdbc Conducător auto"); } catch (ClassNotFoundException ex) {System.err.println ("Nu se poate încărca driverul MySQL"); } } }
Desigur, pentru a putea găsi driverul, programul trebuie invocat cu driverul JAR (descărcat și extras mai sus) inclus în calea clasei după cum urmează.
java -cp mysql-conector-java--bin.jar:...
Conectarea la MySQL De la Java
Acum că am redus detaliile încărcării driverului MySQL de la java, să ne conectăm la baza de date. O modalitate de a crea o conexiune de bază de date este de a utiliza DriverManager.
String jdbcUrl =...; Conexiune con = DriverManager.getConnection (jdbcUrl);
Și care este jdbcUrl? Indică detaliile conexiunii, inclusiv serverul în care se află baza de date, numele de utilizator și așa mai departe. Iată un exemplu URL pentru exemplul nostru.
String jdbcUrl = "jdbc: mysql: // localhost / sample? utilizator = testuser & parola = secrepwd ";
Observați că am inclus toți parametrii necesari pentru conexiune, inclusiv numele de gazdă (gazdă locală), nume de utilizator și parolă. (Inclusiv parola de genul acesta NU este o bună practică, vezi mai jos pentru alternative.)
Folosind aceasta jdbcUrl, aici este un program complet pentru a verifica conectivitatea.
proba publică de clasă. {static {try {Class.forName ("com.mysql.jdbc Conducător auto"); } catch (ClassNotFoundException ex) {System.err.println ("Nu se poate încărca driverul MySQL"); }} static public void main (String [] args) aruncă Excepție {String jdbcUrl = "jdbc: mysql: // localhost / sample? utilizator = testuser & parola = securepwd "; Conexiune con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close (); } }
Rețineți că o conexiune la baza de date este o resursă prețioasă într-un program și trebuie închisă corespunzător ca mai sus. Totuși, 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:
try (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Conectat!"); }
După cum sa menționat mai sus, este o idee proastă să încorporați parola în adresa URL JDBC. Pentru a specifica numele de utilizator și parola direct, puteți utiliza în schimb următoarea opțiune de conectare.
String jdbcUrl = "jdbc: mysql: // localhost / sample"; try (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }
Interogarea bazei de date din Java
Acum că s-a stabilit conexiunea la baza de date, să vedem cum se efectuează 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 obiectul este creat și o interogare este executată folosind executeQuery () metodă care returnează a Setul de rezultate.
String queryString = "selectați versiunea ()"; Declarația stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString);
Tipăriți versiunea din Setul de rezultate după cum urmează. 1 se referă la indexul coloanei în rezultate, începând de la 1.
while (rset.next ()) {System.out.println ("Versiune:" + rset.getString (1)); }
După procesarea rezultatelor, obiectele trebuie să fie închise.
rset.close (); stmt.close ();
Și asta acoperă tot ce este de conectat la MySQL din Java și efectuarea unei interogări simple.
Ați folosit JDBC cu MySQL în proiectele dvs.? Ce probleme aveți, dacă există, cu baze de date și Java? Vă rugăm să ne informați în comentariile de mai jos.