Cum se conecteaza la o baza de date MySQL cu Java?
Java ofera JDBC (Java DataBase Connectivity) ca parte a Java SDK (Software Development Kit). Folosind acest API, este foarte usor sa va conectati la o baza de date relationala.
Driverul bazei de date MySQL.
Pentru a va putea conecta la o baza de date MySQL, aveti nevoie de driverul JDBC pentru MySQL. Acesta se numeste driverul Connector / J si poate fi descarcat de pe site-ul MySQL.
Dupa ce descarcati fisierul ZIP (sau TAR.GZ), extrageti arhiva si copiati fisierul JAR mysql-conector-java-bin.jar la o locatie potrivita. Acest fisier este necesar pentru rularea oricarui cod care utilizeaza driverul JDBC MySQL.
Crearea unei baze de date.
Urmatoarele creeaza un utilizator numit testuser care se va conecta la baza de date MySQL de la aceeasi masina in care ruleaza (indicata prin gazda locala), folosind parola securepwd.
creati utilizator 'testuser' @ 'localhost' identificat prin 'securepwd';
Daca va conectati la o baza de date care ruleaza pe o alta masina (numita remotemc), trebuie sa utilizati urmatoarele (remotemc poate fi un nume de gazdă sau o adresa IP)
creati utilizator 'testuser' @ 'remotemc' identificat prin 'securepwd';
Acum, ca numele de utilizator si parola au fost create, trebuie sa acordam acces la baza de date proba creata anterior.
acordati-le pe esantion. * la 'testuser' @ 'localhost';
Sau, daca baza de date este la distanta:
acordati-le pe esantion. * la 'testuser' @ 'remotemc';
De asemenea, puteti rula urmatoarele comenzi dupa conectare, pentru a va asigura ca toate permisiunile sunt corecte.
crea joe joe (id int cheie auto_increment, nume varchar (25)); drop table joe;
Configurati calea de clasa Java.
Primul pas este sa incarcati driverul bazei de date. Aceasta se face prin invocarea urmatoarelor intr-o locatie potrivita
Class.forName ( "com.mysql.jdbc.Driver");
Codul ar putea arunca o exceptie, astfel incat sa il puteti prinde daca intentionati sa o rezolvati (cum ar fi formatarea mesajului de eroare pentru o interfata grafica).
incercati Class.forName ("com.mysql.jdbc.Driver"); captura (ClassNotFoundException ex) // utilizati exceptia aici
Este foarte frecvent sa invocati acest cod intr-un bloc static din clasa, astfel ca programul nu reuseste imediat daca driverul nu poate fi incarcat.
exemplul public de clasa static try Class.forName ("com.mysql.jdbc.Driver"); captura (ClassNotFoundException ex) System.err.println ("Imposibil de incarcat Driverul MySQL");
Conectarea la MySQL Din Java.
O modalitate de a crea o conexiune de baze de date este de a utiliza DriverManager.
String jdbcUrl = ...; Conexiune con = DriverManager.getConnection (jdbcUrl);
Si ce este jdbcUrl? Acesta indica detaliile conexiunii, inclusiv serverul in care se afla baza de date, numele de utilizator si asa mai departe. Iata un exemplu de URL pentru exemplul nostru.
String jdbcUrl = "jdbc: mysql: // localhost / sample = user = testuser & password = secretpwd";
Observati ca am inclus toti parametrii necesari pentru conectare, inclusiv numele de gazdă (gazda locala), numele de utilizator și parola.
Folosind asta jdbcUrl, aici este un program complet pentru a verifica conectivitatea.
exemplul public de clasă static try Class.forName ("com.mysql.jdbc.Driver"); captura (ClassNotFoundException ex) System.err.println ("Imposibil de incarcat Driverul MySQL"); static public void principal (String [] args) arunca Excepție String jdbcUrl = "jdbc: mysql: // localhost / sample = user = testuser & password = securepwd"; Conexiune con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close ();
Este o idee proasta sa incorporati parola in URL-ul JDBC. Pentru a specifica direct numele de utilizator si parola, puteti folosi urmatoarea optiune de conectare.
Stringul jdbcUrl = "jdbc: mysql: // localhost / sample"; incercati (Conexiune con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd"))
Interogarea bazei de date din Java.
Acum, cand conexiunea la baza de date este stabilita, sa vedem cum sa efectuam o interogare, cum ar fi interogarea versiunii bazei de date:
selectati versiunea ();
O interogare este executata in java dupa cum urmeaza. Afirmatie obiect este creat si o interogare este executata folosind executeQuery () metoda care returneaza Setul de rezultate.
String queryString = "selectati versiunea ()"; Declaratie stmt = con.createStatement (); Rezultatul rset = stmt.executeQuery (queryString);
Imprimati versiunea din Setul de rezultate dupa cum urmeaza. 1 se refera la indexul coloanei in rezultate, începand de la 1.
in timp ce (rset.next ()) System.out.println ("Versiune:" + rset.getString (1));
Dupa procesarea rezultatelor, obiectele trebuie inchise.
rset.close (); stmt.close ();
Si asta acopera tot ceea ce este legat de MySQL de la java si efectuand o interogare simpla.
Am explicat pe scurt.. pentru intrebari,probleme[reply,pm].