JDBC | |
---|---|
Tip de | Data Access API |
Scris in | Java |
Platformă hardware | Mașină virtuală Java |
ultima versiune | JDBC 4.3 (21 septembrie 2017 ) |
Site-ul web | Java SE 8 |
Fișiere media la Wikimedia Commons |
JDBC ( Eng. Java DataBase Connectivity - conexiune cu baze de date Java ) este un standard industrial independent de platformă pentru interacțiunea aplicațiilor Java cu diverse SGBD , implementat ca pachet java.sqlinclus în Java SE .
JDBC se bazează pe conceptul de așa-numitele drivere care vă permit să obțineți o conexiune la o bază de date la o adresă URL special descrisă . Driverele pot fi încărcate dinamic (în timp ce programul rulează). Odată încărcat, driverul se înregistrează și este apelat automat atunci când programul necesită o adresă URL care să conțină protocolul de care este responsabil driverul.
Sun Microsystems a lansat JDBC ca parte a JDK 1.1 pe 19 februarie 1997 [1] . De atunci a făcut parte din J2SE . Clasele JDBC sunt în pachetele java.sql și javax.sql. Începând cu versiunea 3.1, JDBC a fost dezvoltat în cadrul Java Community Process (JCP), care include specificații standardizate pentru dezvoltatorii Java.
API -ul JDBC conține două tipuri principale de interfețe: prima este pentru dezvoltatorii de aplicații și a doua (nivel inferior) este pentru dezvoltatorii de drivere.
Conexiunea la baza de date este descrisă de o clasă care implementează java.sql.Connection. Având o conexiune la baza de date, puteți crea obiecte de tip Statement care sunt utilizate pentru a executa interogări baze de date în limbajul SQL .
Există următoarele tipuri de tipuri de declarații, care diferă ca scop:
Interfața java.sql.ResultSetfacilitează procesarea rezultatelor interogărilor.
Avantajele JDBC sunt:
Exemplu de cod
JDBC pentru MySQL |
---|
Acest exemplu folosește driverul gratuit MySQL JDBC , care este ușor de instalat pe majoritatea distribuțiilor Linux prin intermediul depozitelor standard . |
pachetjavaapplication1 ; _ import java.sql.* ; clasă publică principală { public static void main ( String [] args ) aruncă SQLException { /** * această linie încarcă driverul DB. * anulați comentariul dacă scrieți driverul manual */ //Class.forName("com.mysql.jdbc.Driver"); Conexiune conn = null ; try { conn = Driver Manager . getConnection ( "jdbc:mysql://localhost:3306/db_name" , "utilizator" , "parolă" ); if ( conn == null ) { Sistem . afară . println ( "Nu se poate conecta la baza de date!" ); Sistem . ieșire ( 0 ); } Instrucțiunea stmt = conn . createStatement (); ResultSet rs = stmt . executeQuery ( "SELECT * FROM utilizatori" ); while ( rs . next ()) { Sistem . afară . println ( rs . getRow ( ) + " . " + rs . getString ( " prenume " ) + " \ t " + rs . getString ( " prenume " )); } /** * stmt.close(); * Închiderea unei instrucțiuni închide automat * toate obiectele ResultSet deschise asociate cu acesta */ stmt . închide (); } catch ( SQLException e ) { e . printStackTrace (); } în final { if ( conn != null ){ conn . închide (); } } } } |
JDBC pentru Microsoft SQL Server |
---|
Acest exemplu folosește jTDS , un driver JDBC gratuit pentru Microsoft SQL Server și Sybase ASE SQL-Server . De asemenea, vă puteți conecta la acest și alte SGBD-uri nativ folosind driverul JDBC pentru ODBC , dar cu prețul încetinirii lucrurilor. |
/** * această linie specifică un driver DB alternativ. De exemplu hsql. */ // Class.forName("org.hsqldb.jdbcDriver"); Connection conn = DriverManager . getConnection ( "jdbc:jtds:sqlserver://SERVER/Northwind;instance=INST;domain=Sample_NTLM_Domain" , "utilizator" , "parolă" ); Instrucțiunea stmt = conn . createStatement (); ResultSet rs = stmt . executeQuery ( "SELECT Nume + ' ' + Prenume AS Nume Complet, Adresa FROM Angajații" ); while ( rs . next ()) { Sistem . afară . println ( rs . getString ( " Nume complet " ) + " \ t " + rs . getString ( " Adresa " )); } rs . închide (); stmt . închide (); |
Bază de date | |
---|---|
Concepte |
|
Obiecte |
|
Chei | |
SQL |
|
Componente |