Cum să vă conectați la o bază de date MySQL cu Java

Cum să vă conectați la o bază de date MySQL cu Java

Java oferă JDBC (Java DataBase Connectivity) ca parte a Java SDK (Software Development Kit). Folosind aceasta FOC , este foarte ușor să vă conectați la o bază de date relațională și să efectuați operațiuni obișnuite, 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 anumită bază de date, 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.





poți câștiga bani jucând jocuri video

În acest articol, să ne uităm la 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 s-a 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 Conector / 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-connector-java - bin.jar la o locație adecvată. Acest fișier este necesar pentru rularea oricărui cod care utilizează driverul MySQL JDBC.



Crearea unei baze de date eșantion

Presupunând că ați descărcat baza de date MySQL și configurați-l corect acolo unde aveți acces la acesta, permiteți-ne să creăm 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 rulați următoarele instrucțiuni pentru a crea o bază de date exemplificativă.





create database sample;

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ătorul creează un utilizator numit testuser cine se va conecta la baza de date MySQL de la aceeași mașină pe care rulează (indicat de gazdă locală ), folosind parola securepwd .





create user 'testuser'@'localhost' identified by 'securepwd';

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

create user 'testuser'@'remotemc' identified by 'securepwd';

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

grant all on sample.* to 'testuser'@'localhost';

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

grant all on sample.* to 'testuser'@'remotemc';

Acum ar trebui să verificați dacă puteți conectați-vă la baza de date ca utilizator 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ă permisiunile sunt corecte.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Configurați calea clasei Java

Haideți să intrăm acum în detaliile despre cum să vă conectați la MySQL din Java. Primul pas este să încărcați driverul bazei de date. Acest lucru se face invocând următoarele într-o locație adecvată.

cum se fac colaje foto pe facebook
Class.forName('com.mysql.jdbc.Driver');

Codul ar putea genera o excepție, deci îl puteți prinde dacă intenționați să faceți față acestuia (cum ar fi formatarea mesajului de eroare pentru o interfață grafică).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

Este foarte obișnuit să invocați acest cod într-un bloc static din clasă, astfel încât programul eșuează imediat dacă driverul nu poate fi încărcat.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

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-connector-java - bin.jar: ...

Conectarea la MySQL din Java

Acum că am eliminat detaliile despre încărcarea driverului MySQL din java, permiteți-ne să ne conectăm la baza de date. O modalitate de a crea o conexiune la baza de date este de a utiliza DriverManager .

String jdbcUrl = ...;
Connection 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 adresă URL pentru exemplul nostru.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

Observați că am inclus toți parametrii necesari pentru conexiune, inclusiv numele gazdei ( gazdă locală ), nume de utilizator și parolă. (Includerea parolei de acest gen NU este o practică bună, consultați alternativele de mai jos.)

Folosind aceasta jdbcUrl , iată un program complet pentru verificarea conectivității.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

Rețineți că o conexiune la o bază de date este o resursă prețioasă într-un program și trebuie închisă corect 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:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

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

cum să adăugați capturi de ecran la povestea Instagram
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Interogarea bazei de date din Java

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

select version();

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

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

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

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

După procesarea rezultatelor, obiectele trebuie închise.

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

Și asta acoperă tot ceea ce este conectarea la MySQL din java și efectuarea unei interogări simple.

Verificați și Foaie de trișare a comenzilor SQL .

Acțiune Acțiune Tweet E-mail Este bine să instalați Windows 11 pe un computer incompatibil?

Acum puteți instala Windows 11 pe computere mai vechi cu fișierul ISO oficial ... dar este o idee bună să faceți acest lucru?

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • Java
  • SQL
Despre autor Jay Sridhar(17 articole publicate) Mai multe de la Jay Sridhar

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona