Kako se povezati s MySQL bazom podataka s Javom

Kako se povezati s MySQL bazom podataka s Javom

Java pruža JDBC (Java DataBase povezivanje) kao dio Java SDK -a (Software Development Kit). Koristeći ovo VATRA , vrlo je jednostavno povezati se s relacijskom bazom podataka i izvesti uobičajene operacije poput upita, umetanja, ažuriranja i brisanja zapisa.





Iako je osnovni JDBC API uključen u javu, povezivanje s određenom bazom podataka, poput MySQL -a ili SQL Servera, zahtijeva dodatnu komponentu poznatu kao upravljački program baze podataka. Ovaj upravljački program baze podataka softverska je komponenta koja prevodi osnovne JDBC pozive u format koji ta baza podataka razumije.





super stvari s kodijem

U ovom članku pogledajmo detalje povezivanja s MySQL bazom podataka i kako s njom izvršiti nekoliko upita.





Upravljački program baze podataka MySQL

Kao što je gore objašnjeno, za povezivanje s MySQL bazom podataka potreban vam je upravljački program JDBC za MySQL. To se naziva Connector/J upravljački program i može se preuzeti s MySQL web mjesto ovdje.

Nakon što preuzmete ZIP (ili TAR.GZ) datoteku, izdvojite arhivu i kopirajte JAR datoteku mysql-konektor-java-bin.jar na prikladno mjesto. Ova je datoteka potrebna za pokretanje bilo kojeg koda koji koristi MySQL JDBC upravljački program.



Stvaranje uzorka baze podataka

Pod pretpostavkom da ste preuzeli bazu podataka MySQL i ispravno ga postaviti gdje imate pristup, dopustite nam da stvorimo oglednu bazu podataka kako bismo je mogli koristiti za povezivanje i izvođenje upita.

Povežite se s bazom podataka pomoću klijenta po svom izboru i pokrenite sljedeće izraze za stvaranje uzorka baze podataka.





create database sample;

Također nam je potrebno korisničko ime i lozinka da bismo se mogli povezati s bazom podataka (osim ako se ne želite povezati kao administrator, što je općenito loša ideja).

Sljedeće stvara korisnika po imenu testuser koji će se povezati s bazom podataka MySQL s istog stroja na kojem je pokrenuta (označeno sa localhost ), koristeći lozinku securepwd .





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

Ako se povezujete na bazu podataka koja radi na drugom stroju (pod nazivom remotemc ), morate koristiti sljedeće ( remotemc može biti naziv hosta ili IP adresa):

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

Sada kada su korisničko ime i lozinka stvoreni, moramo odobriti pristup prethodno kreiranoj uzorkovnoj bazi podataka.

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

Ili, ako je baza podataka udaljena:

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

Sada biste trebali provjeriti možete li spojiti na bazu podataka kao korisnik kojeg ste upravo stvorili s istom lozinkom. Nakon povezivanja možete pokrenuti i sljedeće naredbe kako biste bili sigurni da su dopuštenja točna.

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

Postavljanje putanje Java klase

Uđimo sada u detalje kako se povezati s MySQL s Jave. Prvi korak je učitavanje upravljačkog programa baze podataka. To se postiže pozivanjem sljedećeg na prikladnom mjestu.

besplatno streaming filmova bez registracije
Class.forName('com.mysql.jdbc.Driver');

Kôd bi mogao izazvati iznimku, pa ga možete uhvatiti ako se namjeravate nositi s tim (poput formatiranja poruke o pogrešci za GUI).

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

Vrlo je uobičajeno pozivanje ovog koda u statički blok u klasi pa program odmah ne uspije ako se upravljački program ne može učitati.

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

Naravno, da biste mogli pronaći upravljački program, program se mora pozvati s JAR -om upravljačkog programa (prethodno preuzetim i izdvojenim) koji je uključen u putanju klase na sljedeći način.

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

Povezivanje s MySQL s Jave

Sada kada smo izravnali detalje učitavanja upravljačkog programa MySQL iz jave, povežimo se s bazom podataka. Jedan od načina za stvaranje veze s bazom podataka je korištenje DriverManager .

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

A što je jdbcUrl ? Označava pojedinosti o vezi, uključujući poslužitelj na kojem se nalazi baza podataka, korisničko ime i tako dalje. Evo primjera URL -a za naš primjer.

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

Imajte na umu da smo uključili sve parametre potrebne za povezivanje, uključujući i naziv hosta ( localhost ), korisničko ime i lozinku. (Uključivanje ovakve lozinke NIJE dobra praksa, pogledajte dolje za alternative.)

Koristeći ovo jdbcUrl , evo potpunog programa za provjeru povezivosti.

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();
}
}

Imajte na umu da je veza s bazom podataka dragocjen resurs u programu i da se mora pravilno zatvoriti kao gore. Gore navedeni kod, međutim, ne zatvara vezu u slučaju iznimke. Kako biste prekinuli vezu pri normalnom ili abnormalnom izlazu, upotrijebite sljedeći obrazac:

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

Kao što je gore navedeno, loša je ideja ugraditi lozinku u JDBC URL. Da biste izravno naveli korisničko ime i zaporku, umjesto toga možete koristiti sljedeću opciju povezivanja.

odakle dolazi internet
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Upiti u bazu podataka s Jave

Sada kada je veza s bazom podataka uspostavljena, pogledajmo kako izvršiti upit, poput upita verzije baze podataka:

select version();

Upit se izvršava u javi na sljedeći način. A Izjava Objekt je kreiran i upit se izvodi pomoću executeQuery () metoda koja vraća a ResultSet .

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

Ispišite verziju iz ResultSet kako slijedi. 1 odnosi se na indeks stupca u rezultatima, počevši od 1.

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

Nakon obrade rezultata objekte je potrebno zatvoriti.

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

To pokriva sve što je potrebno za povezivanje s MySQL -om iz Jave i izvođenje jednostavnog upita.

Pogledajte i naše SQL naredbe cheat sheet .

Udio Udio Cvrkut E -pošta Je li u redu instalirati Windows 11 na nekompatibilno računalo?

Sada možete instalirati Windows 11 na starija računala sa službenom ISO datotekom ... ali je li to dobro učiniti?

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Java
  • SQL
O autoru Jay Sridhar(17 objavljenih članaka) Više od Jaya Sridhara

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu