Reklama
Java poskytuje JDBC (Java DataBase Connectivity) ako súčasť Java SDK (Software Development Kit). Pomocou tohto API, je veľmi ľahké sa pripojiť k relačná databáza Čo je vlastne databáza? [MakeUseOf vysvetľuje]Pre programátora alebo technologického nadšenca je koncept databázy niečo, čo možno skutočne považovať za samozrejmosť. Pre mnohých ľudí je však samotná koncepcia databázy trochu cudzia ... Čítaj viac a vykonávať bežné operácie, ako je vyhľadávanie, vkladanie, aktualizácia a mazanie záznamov.
Aj keď je základné JDBC API zahrnuté v Java, pripojenie k určitej databáze, ako napríklad MySQL alebo SQL Server, vyžaduje ďalší komponent známy ako databázový ovládač. Tento ovládač databázy je softvérový komponent, ktorý prekladá základné volania JDBC do formátu, ktorému rozumie táto databáza.
V tomto článku sa pozrime na podrobnosti pripojenia k databáze MySQL a na vykonanie niekoľkých otázok s ňou.
Ovládač databázy MySQL
Ako bolo vysvetlené vyššie, aby ste sa mohli pripojiť k databáze MySQL, potrebujete ovládač MyDQL 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-konektor-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 nastaviť Ako nainštalovať databázu MySQL na WindowsAk často píšete aplikácie, ktoré sa pripájajú k databázovým serverom, je pekné, ak viete, ako nainštalovať databázu MySQL na počítač so systémom Windows na účely testovania. Čítaj viac kde k nim máte prístup, vytvorme vzorovú databázu, aby sme ju mohli použiť na pripojenie a vykonávanie dopytov.
Pripojte sa k databáze pomocou klienta podľa vášho výberu a spustite nasledujúce príkazy na vytvorenie vzorovej databázy.
vytvoriť ukážku databázy;
Potrebujeme tiež používateľské meno a heslo, aby sme sa mohli pripojiť k databáze (pokiaľ sa nechcete pripojiť ako správca, čo je všeobecne zlý nápad).
Nasledujúci vytvorí meno používateľa testuser ktorý sa pripojí k databáze MySQL z toho istého počítača, na ktorom je spustený (označené ikonou localhost) pomocou hesla securepwd.
vytvoriť používateľa „testuser“ @ „localhost“ identifikovaného pomocou „securepwd“;
Ak sa pripájate k databáze spustenej na inom počítači (pomenované remotemc), musíte použiť nasledujúce (remotemc môže to byť názov hostiteľa alebo adresa IP):
vytvoriť používateľa 'testuser' @ 'remotemc' identifikovaný pomocou 'securepwd';
Po vytvorení používateľského mena a hesla musíme udeliť prístup k predtým vytvorenej vzorovej databáze.
prideliť všetko na vzorke. * „testuser“ @ „localhost“;
Alebo, ak je databáza vzdialená:
prideliť všetko na vzorke. * „testuser“ @ „remotemc“;
Teraz by ste si mali overiť, že to dokážete pripojiť sa k databáze Ako nainštalovať databázu MySQL na WindowsAk často píšete aplikácie, ktoré sa pripájajú k databázovým serverom, je pekné, ak viete, ako nainštalovať databázu MySQL na počítač so systémom Windows na účely testovania. Čítaj viac ako používateľ, ktorého ste práve vytvorili, s rovnakým heslom. Po pripojení môžete spustiť aj nasledujúce príkazy, aby ste sa uistili, že všetky povolenia sú správne.
vytvorenie tabuľky joe (id int primárny kľúč auto_increment, meno varchar (25)); stolík Joe;
Nastaviť cestu triedy Java
Teraz sa dostaneme k podrobnostiam o tom, ako sa pripojiť k MySQL z Jáva 10 základných konceptov Java by ste sa mali naučiť, keď začneteČi už píšete GUI, vyvíjate softvér na strane servera alebo mobilnú aplikáciu využívajúcu Android, učenie sa Java vám bude dobre slúžiť. Tu je niekoľko základných konceptov Java, ktoré vám pomôžu začať. Čítaj viac . Prvým krokom je načítanie ovládača databázy. To sa dosiahne vyvolaním nasledujúceho na vhodnom mieste.
Class.forName ( "com.mysql.jdbc. Driver ");
Kód by mohol vyvolať výnimku, takže ju môžete chytiť, ak sa ňou chcete zaoberať (napríklad formátovanie chybovej správy pre GUI).
skúste {Class.forName ("com.mysql.jdbc. Driver "); } catch (ClassNotFoundException ex) {// tu použite výnimku. }
Je veľmi bežné vyvolať tento kód v statickom bloku v triede, takže program okamžite zlyhá, ak sa ovládač nedá načítať.
Vzorka verejnej triedy. {static {try {Class.forName ("com.mysql.jdbc. Driver "); } catch (ClassNotFoundException ex) {System.err.println („Nemožno načítať ovládač MySQL“); } } }
Aby bolo možné nájsť vodiča, musí byť program samozrejme vyvolaný s ovládačom JAR (stiahnutým a extrahovaným vyššie) zaradeným do cesty triedy nasledovne.
java -cp mysql-connector-java--bin.jar:...
Pripojenie k MySQL z Java
Teraz, keď sme na druhej strane odstránili podrobnosti o načítaní ovládača MySQL z javy, pripojme sa k databáze. Jeden spôsob, ako vytvoriť databázové pripojenie, je použitie DriverManager.
String jdbcUrl =...; Pripojenie con = DriverManager.getConnection (jdbcUrl);
A čo je jdbcUrl? Označuje podrobnosti o pripojení vrátane servera, na ktorom sa databáza nachádza, používateľské meno atď. Toto je vzorová adresa URL pre náš príklad.
String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser a 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. (Zahrnutie hesla, ako je toto, NIE je dobrým postupom, alternatívy nájdete nižšie.)
Pomocou tohto jdbcUrl, tu je kompletný program na kontrolu pripojenia.
Vzorka verejnej triedy. {static {try {Class.forName ("com.mysql.jdbc. Driver "); } catch (ClassNotFoundException ex) {System.err.println („Nemožno načítať ovládač MySQL“); }} static public void main (String [] args) vyvolá výnimku {String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser a password = securepwd "; Pripojenie con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close (); } }
Upozorňujeme, že pripojenie k databáze je vzácnym zdrojom v programe a musí byť správne uzavreté, ako je uvedené vyššie. Vyššie uvedený kód však v prípade výnimky neukončí spojenie. Aby ste ukončili spojenie na normálnom alebo abnormálnom východe, použite nasledujúci vzor:
try (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Connected!"); }
Ako je uvedené vyššie, je zlý nápad vložiť heslo do adresy JDBC. Ak chcete priamo zadať meno používateľa a heslo, môžete namiesto toho použiť nasledujúcu možnosť pripojenia.
String jdbcUrl = "jdbc: mysql: // localhost / sample"; try (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }
Dopytovanie databázy z Java
Po nadviazaní spojenia s databázou sa pozrime, ako vykonať dotaz, napríklad dotaz na verziu databázy:
vyberte verziu ();
Dopyt sa vykoná v jave nasledujúcim spôsobom. výkaz je vytvorený a dotaz je vykonaný pomocou ExecuteQuery () metóda, ktorá vracia a ResultSet.
String queryString = "select version ()"; Príkaz stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString);
Vytlačte verziu z ResultSet nasledovne. 1 sa vzťahuje 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 sa týka pripojenia k MySQL z Java a vykonanie jednoduchého dotazu.
Použili ste vo svojich projektoch JDBC s MySQL? Aké problémy máte, ak máte, s databázami a Java? Dajte nám vedieť v komentároch nižšie.