reklama

Java poskytuje JDBC (Java DataBase Connectivity) jako součást Java SDK (Software Development Kit). Pomocí tohoto API, je velmi snadné se připojit k relační databáze Co je vlastně databáze? [MakeUseOf vysvětluje]Pro programátora nebo technologického nadšence je koncept databáze něco, co lze skutečně považovat za samozřejmost. Pro mnoho lidí je však koncepce samotné databáze trochu cizí ... Přečtěte si více a provádět běžné operace, jako je dotazování, vkládání, aktualizace a mazání záznamů.

Zatímco jádro JDBC API je zahrnuto v Java, připojení k určité databázi, jako je MySQL nebo SQL Server, vyžaduje další komponentu známou jako ovladač databáze. Tento ovladač databáze je softwarová součást, která převádí základní volání JDBC do formátu, kterému tato databáze rozumí.

V tomto článku se podívejme na podrobnosti připojení k databázi MySQL a jak s ní provést několik dotazů.

Ovladač databáze MySQL

Jak bylo vysvětleno výše, pro připojení k databázi MySQL potřebujete ovladač JDBC pro MySQL. Tomu se říká ovladač Connector / J a lze jej stáhnout z web MySQL zde.

instagram viewer

Po stažení souboru ZIP (nebo TAR.GZ) rozbalte archiv a zkopírujte soubor JAR mysql-connector-java – bin.jar na vhodné místo. Tento soubor je vyžadován pro spuštění jakéhokoli kódu, který používá ovladač MySQL JDBC.

Vytvoření vzorové databáze

Za předpokladu, že jste si stáhli databázi MySQL a správně ji nastavit Jak nainstalovat databázi MySQL ve WindowsPokud často píšete aplikace, které se připojují k databázovým serverům, je hezké, pokud víte, jak nainstalovat databázi MySQL do počítače se systémem Windows pro účely testování. Přečtěte si více kde k ní máte přístup, vytvořme ukázkovou databázi, abychom ji mohli použít pro připojení a provádění dotazů.

Připojte se k databázi pomocí klienta podle vašeho výběru a spusťte následující příkazy a vytvořte ukázkovou databázi.

vytvořit ukázku databáze; 

Potřebujeme také uživatelské jméno a heslo, abychom se mohli připojit k databázi (pokud se nechcete připojit jako správce, což je obecně špatný nápad).

Následující vytvoří uživatele s názvem testuser kteří se připojí k databázi MySQL ze stejného počítače, na kterém běží (označeno ikonou localhost) pomocí hesla securepwd.

vytvořit uživatele 'testuser' @ 'localhost' identifikovaný 'securepwd'; 

Pokud se připojujete k databázi spuštěné na jiném počítači (pojmenované remotemc), musíte použít následující (remotemc může být název hostitele nebo adresa IP):

vytvořit uživatele 'testuser' @ 'remotemc' identifikovaný 'securepwd'; 

Nyní, když bylo vytvořeno uživatelské jméno a heslo, musíme udělit přístup k dříve vytvořené vzorové databázi.

udělit vše na vzorku. * 'testuser' @ 'localhost'; 

Nebo, pokud je databáze vzdálená:

udělit vše na vzorku. * 'testuser' @ 'remotemc'; 

Nyní byste měli ověřit, že můžete připojit se k databázi Jak nainstalovat databázi MySQL ve WindowsPokud často píšete aplikace, které se připojují k databázovým serverům, je hezké, pokud víte, jak nainstalovat databázi MySQL do počítače se systémem Windows pro účely testování. Přečtěte si více jako uživatel, kterého jste právě vytvořili, se stejným heslem. Po připojení můžete také spustit následující příkazy, abyste se ujistili, že jsou všechna oprávnění správná.

vytvoření tabulky joe (id int primární klíč auto_increment, jméno varchar (25)); stolek joe; 

Nastavit cestu třídy Java

Podívejme se nyní na podrobnosti o tom, jak se připojit k MySQL z Jáva 10 základních konceptů Java, které byste se měli naučit při zahájeníAť už píšete GUI, vyvíjíte software na straně serveru nebo mobilní aplikaci pomocí Androidu, učení Java vám bude dobře sloužit. Zde je několik základních konceptů Java, které vám pomohou začít. Přečtěte si více . Prvním krokem je načtení ovladače databáze. To se provádí vyvoláním následujícího na vhodném místě.

Class.forName ("com.mysql.jdbc. Řidič"); 

Kód by mohl vyvolat výjimku, takže ji můžete chytit, pokud se s ní chcete vypořádat (například formátování chybové zprávy pro GUI).

zkuste {Class.forName ("com.mysql.jdbc. Řidič"); } catch (ClassNotFoundException ex) {// zde použijte výjimku. }

Je velmi časté vyvolat tento kód ve statickém bloku ve třídě, takže program nelze okamžitě spustit, pokud nelze ovladač načíst.

veřejná třída Ukázka. {static {try {Class.forName ("com.mysql.jdbc. Řidič"); } catch (ClassNotFoundException ex) {System.err.println ("Nelze načíst ovladač MySQL"); } } }

Aby bylo možné najít ovladač, musí být program vyvolán s ovladačem JAR (staženým a extrahovaným výše) zařazeným do cesty třídy následujícím způsobem.

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

Připojení k MySQL z Javy

Nyní, když jsme na druhou stranu odstranili podrobnosti o načtení ovladače MySQL z javy, připojme se k databázi. Jeden způsob, jak vytvořit databázové připojení, je použití DriverManager.

String jdbcUrl =...; Připojení con = DriverManager.getConnection (jdbcUrl); 

A co je jdbcUrl? Označuje podrobnosti o připojení, včetně serveru, na kterém je databáze umístěna, uživatelského jména atd. Zde je ukázka adresy URL pro náš příklad.

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

Všimněte si, že jsme zahrnuli všechny parametry potřebné pro připojení, včetně názvu hostitele (localhost), uživatelské jméno a heslo. (Včetně takového hesla NENÍ dobrý postup, alternativy naleznete níže.)

Pomocí tohoto jdbcUrl, zde je kompletní program pro kontrolu připojení.

veřejná třída Ukázka. {static {try {Class.forName ("com.mysql.jdbc. Řidič"); } catch (ClassNotFoundException ex) {System.err.println ("Nelze načíst ovladač MySQL"); }} static public void main (String [] args) vyvolá výjimku {String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = securepwd "; Připojení con = DriverManager.getConnection (jdbcUrl); System.out.println ("Připojeno!"); con.close (); } }

Pamatujte, že připojení k databázi je vzácným prostředkem v programu a musí být správně uzavřeno, jak je uvedeno výše. Výše uvedený kód však v případě výjimky nezavře připojení. Chcete-li ukončit spojení na normálním nebo neobvyklém východu, použijte následující vzorec:

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

Jak je uvedeno výše, je špatný nápad vložit heslo do URL JDBC. Chcete-li přímo zadat uživatelské jméno a heslo, můžete místo toho použít následující možnost připojení.

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

Dotaz na databázi z Javy

Nyní, když je navázáno připojení k databázi, se podívejme, jak provést dotaz, například dotazování na verzi databáze:

vyberte verzi (); 

Dotaz je spuštěn v java následujícím způsobem. A Prohlášení je vytvořen objekt a dotaz je proveden pomocí executeQuery () metoda, která vrací a ResultSet.

String queryString = "select version ()"; Příkaz stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

Vytiskněte verzi z ResultSet jak následuje. 1 odkazuje na index sloupce ve výsledcích, počínaje 1.

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

Po zpracování výsledků je třeba objekty uzavřít.

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

A to zahrnuje vše, co se týká připojení k MySQL z Java a provedení jednoduchého dotazu.

Už jste ve svých projektech použili JDBC s MySQL? Jaké problémy máte, pokud máte, s databázemi a javou? Prosím, dejte nám vědět v komentářích níže.