Konektivita databáze Java
| JDBC | |
|---|---|
| Typ | Data Access API |
| Zapsáno v | Jáva |
| Hardwarová platforma | Java virtuální stroj |
| Nejnovější verze | JDBC 4.3 (21. září 2017 ) |
| webová stránka | Java SE 8 |
| Mediální soubory na Wikimedia Commons | |
JDBC ( anglicky Java DataBase Connectivity - connection with Java databases ) je průmyslový standard nezávislý na platformě pro interakci Java aplikací s různými DBMS , implementovaný jako balíček java.sqlzahrnutý v Java SE .
JDBC je založeno na konceptu tzv. ovladačů, které umožňují získat připojení k databázi na speciálně popsané URL . Ovladače lze načítat dynamicky (za běhu programu). Po načtení se ovladač sám zaregistruje a je volán automaticky, když program vyžaduje URL obsahující protokol, za který je ovladač zodpovědný.
Historie
Sun Microsystems vydal JDBC jako součást JDK 1.1 19. února 1997 [1] . Od té doby je součástí J2SE . Třídy JDBC jsou v balíčcích java.sql a javax.sql. Od verze 3.1 je JDBC vyvíjen v rámci Java Community Process (JCP), který zahrnuje standardizované specifikace pro vývojáře Java.
Rozhraní
JDBC API obsahuje dva hlavní typy rozhraní: první je pro vývojáře aplikací a druhé (nižší úroveň) je pro vývojáře ovladačů.
Databázové připojení je popsáno třídou, která implementuje java.sql.Connection. Po připojení k databázi můžete vytvářet objekty typu Statement, které se používají k provádění databázových dotazů v jazyce SQL .
Existují následující typy typů výpisů, které se liší účelem:
java.sql.Statement- prohlášení o obecném účelu;java.sql.PreparedStatement- Příkaz, používaný k provádění požadavků obsahujících substituované parametry (označený symbolem '?' v těle požadavku);java.sql.CallableStatement- Příkaz určený k volání uložených procedur .
Rozhraní java.sql.ResultSetusnadňuje zpracování výsledků dotazů.
Výhody
Výhody JDBC jsou:
- Snadný vývoj: vývojář nemusí znát specifika databáze, se kterou pracuje
- Kód se téměř nemění, pokud se společnost přesune do jiné databáze (množství změn závisí pouze na rozdílech mezi dialekty SQL)
- Není třeba instalovat těžkopádný klientský program
- Libovolnou databázi lze připojit přes snadno popsanou URL
Příklady
Příklad kódu
| JDBC pro MySQL |
|---|
| Tento příklad používá bezplatný ovladač MySQL JDBC , který se snadno instaluje na většinu distribucí Linuxu prostřednictvím standardních repozitářů . |
packagejavaapplication1 ; _ import java.sql.* ;
public class Hlavní {
public static void main ( String [] args ) vyvolá výjimku SQL {
/**
* tento řádek načte ovladač DB.
* zrušte komentář, pokud ovladač píšete ručně
*/
//Class.forName("com.mysql.jdbc.Driver");
Connection conn = null ;
zkuste {
conn = Driver Manager . getConnection (
"jdbc:mysql://localhost:3306/db_name" ,
"user" , "password" );
if ( conn == null ) {
System . ven . println ( "Nelze se připojit k databázi!" );
Systém . výstup ( 0 );
}
Příkaz stmt = conn . createStatement ();
ResultSet rs = stmt . executeQuery ( "SELECT * FROM users" );
while ( rs . next ()) {
System . ven . println ( rs . getRow () + ". " + rs . getString ( "jméno" )
+ "\t" + rs . getString ( "příjmení" ));
}
/**
* stmt.close();
* Zavřením příkazu se automaticky zavře
* všechny otevřené objekty ResultSet s ním spojené
*/
stmt . zavřít ();
}
catch ( SQLException e ) {
e . printStackTrace ();
} nakonec {
if ( conn != null ){
conn . zavřít ();
}
}
}
}
|
| JDBC pro Microsoft SQL Server |
|---|
| Tento příklad používá jTDS , bezplatný ovladač JDBC pro Microsoft SQL Server a Sybase ASE SQL-Server . K tomuto a dalším DBMS se můžete také nativně připojit pomocí ovladače JDBC pro ODBC , ale za cenu zpomalení. |
/**
* tento řádek určuje alternativní ovladač DB. Například hsql.
*/
// Class.forName("org.hsqldb.jdbcDriver");
Connection conn = DriverManager . getConnection (
"jdbc:jtds:sqlserver://SERVER/Northwind;instance=INST;domain=Sample_NTLM_Domain" ,
"user" , "password" );
Příkaz stmt = conn . createStatement ();
ResultSet rs = stmt . executeQuery ( "SELECT LastName + ' ' + FirstName AS FullName, Address FROM Employes" );
while ( rs . next ())
{
System . ven . println ( rs . getString ( "Celé jméno" ) + "\t" + rs . getString ( "Adresa" ));
}
rs _ zavřít ();
stmt . zavřít ();
|
Poznámky
- ↑ Specifikace JDBC 3.0 (downlink) . www.sun.com . Sun Microsystems . Archivováno z originálu 24. června 2012.
Odkazy
- Interakce s databází v programech Java (ruština)
- Oficiální stránka JDBC
- Výukový program JDBC