Ako sa pripojiť k databáze MySQL pomocou Javy

Ako sa pripojiť k databáze MySQL pomocou Javy

Java poskytuje JDBC (Java DataBase Connectivity) ako súčasť sady Java SDK (Software Development Kit). Pomocou tohto POŽIAR , je veľmi jednoduché pripojiť sa k relačnej databáze a vykonávať bežné operácie, ako je dotazovanie, vkladanie, aktualizácia a odstraňovanie záznamov.





Kým java obsahuje základné rozhranie JDBC API, pripojenie k konkrétnej databáze, ako je MySQL alebo SQL Server, vyžaduje ďalší komponent známy ako databázový ovládač. Tento databázový ovládač je softvérový komponent, ktorý prekladá základné hovory JDBC do formátu, ktorému táto databáza rozumie.





výnimka systémového vlákna systému Windows 10 bsod nebola spracovaná

V tomto článku sa pozrime na podrobnosti o pripojení k databáze MySQL a na to, ako s ňou vykonať niekoľko dotazov.





Ovládač databázy MySQL

Ako je vysvetlené vyššie, na to, aby ste sa mohli pripojiť k databáze MySQL, potrebujete ovládač JDBC pre MySQL. Toto sa nazýva ovládač Connector/J a dá sa stiahnuť z web MySQL tu.

Po stiahnutí súboru ZIP (alebo TAR.GZ) rozbaľte archív a skopírujte súbor JAR mysql-connector-java-bin.jar na vhodné miesto. Tento súbor je potrebný na spustenie akéhokoľvek kódu, ktorý používa ovládač MySQL JDBC.



Vytvorenie vzorovej databázy

Za predpokladu, že ste si stiahli databázu MySQL a správne to nastaviť kde k nej máte prístup, vytvoríme vzorovú databázu, aby sme ju mohli používať na pripájanie a vykonávanie dotazov.

Pripojte sa k databáze pomocou klienta podľa vášho výberu a spustením nasledujúcich príkazov vytvorte vzorovú databázu.





create database sample;

Na to, aby sme sa mohli pripojiť k databáze, potrebujeme aj používateľské meno a heslo (pokiaľ sa nechcete pripojiť ako správca, čo je spravidla zlý nápad).

Nasleduje vytvorenie používateľa s názvom testuser kto sa pripojí k databáze MySQL z rovnakého počítača, na ktorom je spustený (označené ikonou localhost ) pomocou hesla securepwd .





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

Ak sa pripájate k databáze spustenej na inom počítači (s názvom diaľkové ovládanie ), musíte použiť nasledujúce ( diaľkové ovládanie môže to byť názov hostiteľa alebo adresa IP):

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

Teraz, keď bolo vytvorené používateľské meno a heslo, musíme udeliť prístup k predtým vytvorenej vzorovej databáze.

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

Alebo, ak je databáza vzdialená:

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

Teraz by ste mali overiť, že môžete pripojiť sa k databáze ako používateľ, ktorého ste práve vytvorili s rovnakým heslom. Po pripojení môžete tiež spustiť nasledujúce príkazy, aby ste sa presvedčili, že všetky povolenia sú správne.

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

Nastavte cestu triedy Java

Teraz sa dostaneme k podrobnostiam o tom, ako sa pripojiť k MySQL z Javy. Prvým krokom je načítanie ovládača databázy. To sa deje vyvolaním nasledujúceho na vhodnom mieste.

ako odosielať súbory na iný počítač
Class.forName('com.mysql.jdbc.Driver');

Kód by mohol spôsobiť výnimku, takže sa ho môžete chytiť, ak sa s ním chcete zaoberať (napríklad formátovaním chybového hlásenia pre grafické používateľské rozhranie).

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

Je veľmi bežné vyvolať tento kód v statickom bloku v triede, takže program okamžite zlyhá, ak nemožno načítať ovládač.

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

Na to, aby ste našli ovládač, je potrebné program vyvolať pomocou ovládača JAR (stiahnutého a extrahovaného vyššie), ktorý je zahrnutý v ceste triedy nasledovne.

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

Pripojenie k MySQL z Javy

Teraz, keď sme oddelili detaily načítania ovládača MySQL z javy, poďme sa pripojiť k databáze. Jeden zo spôsobov, ako vytvoriť pripojenie k databáze, je použiť DriverManager .

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

A čo je to jdbcUrl ? Udáva podrobnosti o pripojení vrátane servera, na ktorom sa nachádza databáza, používateľského mena a podobne. Tu je vzorová adresa URL pre náš príklad.

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

Všimnite si, že sme zahrnuli všetky parametre potrebné na pripojenie vrátane názvu hostiteľa ( localhost ), používateľské meno a heslo. (Vložiť heslo ako toto NIE JE osvedčený postup, alternatívy nájdete nižšie.)

Pomocou tohto jdbcUrl , Tu je kompletný program na kontrolu konektivity.

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

Upozorňujeme, že databázové pripojenie je v programe vzácnym zdrojom a musí byť správne zatvorené, ako je uvedené vyššie. Vyššie uvedený kód však v prípade výnimky nezatvára spojenie. Na zatvorenie pripojenia normálnym alebo neobvyklým východom použite nasledujúci vzorec:

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

Ako je uvedené vyššie, je nesprávne vložiť heslo do adresy URL JDBC. Ak chcete zadať používateľské meno a heslo priamo, môžete namiesto toho použiť nasledujúcu možnosť pripojenia.

ako preniesť android na počítač
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Dotaz na databázu z Javy

Teraz, keď je vytvorené pripojenie k databáze, pozrime sa, ako vykonať dotaz, ako je napríklad dotaz na verziu databázy:

select version();

Dotaz sa vykoná v jave nasledovne. A Vyhlásenie Objekt sa vytvorí a dotaz sa vykoná pomocou súboru executeQuery () metóda, ktorá vráti a ResultSet .

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

Vytlačte si verziu z ResultSet nasledovne. 1 odkazuje na index stĺpca vo výsledkoch, začínajúc od 1.

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

Po spracovaní výsledkov je potrebné objekty uzavrieť.

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

A to pokrýva všetko, čo je k pripojeniu k MySQL z Java a vykonaniu jednoduchého dotazu.

Pozrite sa aj na naše Cheat sheet príkazov SQL .

zdieľam zdieľam Tweet E -mail Je v poriadku nainštalovať Windows 11 na nekompatibilný počítač?

Teraz môžete nainštalovať Windows 11 na staršie počítače s oficiálnym súborom ISO ... je to však dobré?

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • Java
  • SQL
O autorovi Jay Sridhar(17 článkov uverejnených) Viac od Jaya Sridhara

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber