Jak se připojit k databázi MySQL pomocí Javy

Jak se připojit k databázi MySQL pomocí Javy

Java poskytuje JDBC (Java DataBase Connectivity) jako součást sady Java SDK (Software Development Kit). Pomocí tohoto OHEŇ , je velmi snadné se připojit k relační databázi 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 součástí 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 databázový ovladač je softwarová součást, která převádí základní volání JDBC do formátu, kterému tato databáze rozumí.





chrom používá příliš mnoho paměti

V tomto článku se podíváme na detaily 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, k připojení k databázi MySQL potřebujete ovladač JDBC pro MySQL. Toto se nazývá ovladač Connector/J a lze jej stáhnout z web MySQL zde.

Jakmile si stáhnete soubor 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í ukázkové databáze

Za předpokladu, že jste si stáhli databázi MySQL a správně nastavit kde k ní máte přístup, vytvořte nám 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.





create database sample;

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

Následující text vytvoří uživatele s názvem testuser kdo se připojí k databázi MySQL ze stejného počítače, kde je spuštěn (označeno localhost ) pomocí hesla securepwd .





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

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

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

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

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

Nebo pokud je databáze vzdálená:

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

Nyní byste měli ověřit, že můžete připojit k databázi 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á.

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

Nastavte cestu třídy Java

Pojďme se nyní dostat do podrobností o tom, jak se připojit k MySQL z Javy. 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ě.

výjimka systémového vlákna není zpracována aktualizace systému Windows 10
Class.forName('com.mysql.jdbc.Driver');

Kód by mohl vyvolat výjimku, takže ho můžete zachytit, pokud se s ním hodláte vypořádat (například formátování chybové zprávy pro grafické uživatelské rozhraní).

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

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

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

Samozřejmě, aby bylo možné ovladač najít, musí být program vyvolán s ovladačem JAR (staženým a extrahovaným výše) zahrnutým v cestě třídy následovně.

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

Připojení k MySQL z Javy

Nyní, když jsme odstranili detaily načítání ovladače MySQL z Java, pojďme se připojit k databázi. Jedním ze způsobů, jak vytvořit připojení k databázi, je použít DriverManager .

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

A co je to jdbcUrl ? Udává podrobnosti o připojení, včetně serveru, kde se databáze nachází, uživatelského jména atd. Zde je ukázková adresa 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ě hesla, jako je toto, NENÍ dobrým postupem, alternativy viz níže.)

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

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

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

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

Jak je uvedeno výše, je nevhodné vložit heslo do adresy 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í.

jak inicializovat pevný disk Windows 10
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Dotazování databáze z Javy

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

select version();

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

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

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

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

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

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

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

Podívejte se také na náš Cheat sheet příkazů SQL .

Podíl Podíl tweet E-mailem Je v pořádku nainstalovat Windows 11 na nekompatibilní počítač?

Nyní můžete nainstalovat Windows 11 na starší počítače s oficiálním souborem ISO ... je ale dobré to udělat?

Číst dále
Související témata
  • Programování
  • Jáva
  • SQL
O autorovi Jay Sridhar(17 článků zveřejněno) Více od Jaye Sridhar

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru