Cum de a utiliza baza de date MySQL în Java

Cum se utilizează baza de date
Cum se utilizează baza de date

În acest articol vom învăța cum să se conecteze la o bază de date MySQL de la un cod de Java și de a efectua interogări simple pentru a prelua și a datelor de actualizare. Pentru a avea acces la baza de date, vom folosi API-ul JDBC (Java Database Connectivity), care face parte din standardul bibliotecii Java. JDBC vă permite să se conecteze la orice bază de date: .. Postgres, MySQL, SQL Server, Oracle, etc - cu punerea în aplicare corespunzătoare a conducătorului auto necesar pentru conexiunea. Pentru baza de date MySQL, vom folosi JDBC Type 4 conducător auto din pachetul mysql-conector-java-5.1.23-bin.jar. Este scris în Java pură, poate și, prin urmare, nu avem nevoie de nici o bibliotecă nativă sau ODBC-pod. Tot ce trebuie să facem - este de a pune JAR-fișierul în directorul conținut în CLASSPATH. JAR-fișier conține clasa com.mysql.jdbc.Driver. necesare pentru conectarea la MySQL. Dacă el nu se află în CLASSPATH. rulare va arunca o java.lang.ClassNotFoundException excepție. astfel încât asigurați-vă că ați configurat calea corectă.







Agățarea o bază de date MySQL folosind JDBC

Pentru a conecta baza de date MySQL, avem nevoie de patru lucruri:

  1. șir de conexiune JDBC (de exemplu: jdbc: mysql: // localhost: 3306 / test).
  2. numele de utilizator (root).
  3. Parola (root).
  4. O bază de date cu un număr de tabele, de exemplu (de exemplu, cărți, baze de date).

Șirul de conectare pentru MySQL începe cu jdbc: mysql. Este numele protocolului de conexiune, urmat de gazdă și portul de conectare pe care baza de date se execută. În cazul nostru este localhost cu portul implicit 3306 (dacă nu ați modificat în timpul instalării). Următoarea parte - testare - numele bazei de date care există deja în MySQL. Putem crea un tabel de cărți:







com. MySQL. jdbc. excepții. jdbc4. MySQLSyntaxErrorException. Bază de date necunoscută „test / carte“

la soare. reflectă. NativeConstructorAccessorImpl. newInstance0 (Metoda nativă)

la soare. reflectă. NativeConstructorAccessorImpl. newInstance (NativeConstructorAccessorImpl. java. 62)

la soare. reflectă. DelegatingConstructorAccessorImpl. newInstance (DelegatingConstructorAccessorImpl. java. 45)

la java. lang. reflectă. Constructor. newInstance (Constructor. java. 408)

la com. MySQL. jdbc. UTIL. handleNewInstance (Util. java. 411)

la com. MySQL. jdbc. UTIL. getInstance (Util. java. 386)

la com. MySQL. jdbc. Sqlerror. createSQLException (sqlerror. java. 1053)

id. 2. numele. Java Simultaneitatea în practică. autor. brian Goetz

Adăugarea de date folosind INSERT-interogare JDBC

Adăugarea de date diferă puțin de producția lor: folosim doar INSERT-interogare în loc de SELECT-interogare și metoda executeUpdate () în loc de executeQuery (). Această metodă este folosită pentru interogări INSERT, UPDATE și DELETE, ca și pentru ca declarații SQL DDL, cum ar fi CREATE, ALER sau DROP. Aceste comenzi nu returnează rezultatele, astfel încât să eliminăm toate referințele ResultSet „și în codul și modificați interogarea în consecință:

Șirul de interogare = "INSERT INTO test.books (id, nume, autor) \ n" +

"VALORI (3, 'primul cap Java', 'Kathy Sieara');" ;

// executare interogare SELECT

STMT. executeUpdate (interogare);

După pornirea programului, puteți verifica tabelul din baza de date. În acest moment, veți vedea trei intrări în tabelul de mai jos:

Cum se utilizează baza de date
Cum se utilizează baza de date

Acum știi cum să vă conectați la MySQL din aplicații bazate pe Java și de a efectua SELECT, INSERT, DELETE și UPDATE-interogări în același mod ca și în MySQL GUI. Pentru a conecta, vom folosi obiectul Connection. pentru a citi rezultatele interogării - ResultSet. Asigurați-vă că înainte de conectare că serverul MySQL rulează și mysql-conector-java-5.1.17-bin.jar este în CLASSPATH. pentru a evita ClassNotFoundException.

Când ați terminat cu conexiunea și interogările simplu, are sens să învețe cum să folosească interogări preparate (statement preparat) în Java pentru a evita SQL-injectare. În codul de luptă ar trebui să folosească întotdeauna interogări pregătite și se leagă de variabile.

Dacă va plăcut acest ghid și nu poate aștepta pentru a afla mai multe despre modul în care să se conecteze și să lucreze cu o bază de date Java-programe, vă rugăm să rețineți următoarele articole:

Link-uri utile

  • Dacă nu aveți o bază de date MySQL, o puteți descărca de aici;
  • ESDI nu aveți driverul MySQL pentru JDBC, o puteți descărca de aici;
  • carte recomandată «practice de programare baze de date cu Java» pot fi achiziționate de pe Amazon.