JDBC | |
---|---|
Sorts | Data Access API |
Skrivet i | Java |
Hårdvaruplattform | Java Virtual Machine |
senaste versionen | JDBC 4.3 (21 september 2017 ) |
Hemsida | Java SE 8 |
Mediafiler på Wikimedia Commons |
JDBC ( Eng. Java DataBase Connectivity - connectivity with Java databases ) är en plattformsoberoende industristandard för interaktion av Java-applikationer med olika DBMS , implementerad som ett paket som java.sqlingår i Java SE .
JDBC bygger på konceptet med så kallade drivrutiner som gör att du kan få en anslutning till en databas på en speciellt beskriven URL . Drivrutiner kan laddas dynamiskt (medan programmet körs). När föraren har laddats registrerar den sig själv och anropas automatiskt när programmet kräver en URL som innehåller det protokoll som föraren är ansvarig för.
Sun Microsystems släppte JDBC som en del av JDK 1.1 den 19 februari 1997 [1] . Det har varit en del av J2SE sedan dess . JDBC-klasserna finns i paketen java.sql och javax.sql. Sedan version 3.1 har JDBC utvecklats under Java Community Process (JCP), som inkluderar standardiserade specifikationer för Java-utvecklare.
JDBC API innehåller två huvudtyper av gränssnitt: det första är för applikationsutvecklare och det andra (lägre nivån) är för drivrutinsutvecklare.
Databasanslutningen beskrivs av en klass som implementerar java.sql.Connection. Genom att ha en anslutning till databasen kan du skapa objekt av typen Statement som används för att köra databasfrågor i SQL- språket .
Det finns följande typer av uttalandetyper, som skiljer sig åt i syfte:
Gränssnittet java.sql.ResultSetgör det enkelt att bearbeta frågeresultat.
Fördelarna med JDBC är:
Kodexempel
JDBC för MySQL |
---|
Det här exemplet använder den kostnadsfria MySQL JDBC-drivrutinen , som enkelt installeras på de flesta Linux- distributioner via standardförråden . |
packagejavaapplication1 ; _ importera java.sql.* ; offentlig klass Main { public static void main ( String [] args ) kastar SQLException { /** * den här raden laddar DB-drivrutinen. * avkommentera om du skriver drivrutinen manuellt */ //Class.forName("com.mysql.jdbc.Driver"); Anslutning anslutning = null ; prova { conn = Driver Manager . getConnection ( "jdbc:mysql://localhost:3306/db_name" , "användare" , "lösenord" ); if ( conn == null ) { System . ut . println ( "Kan inte ansluta till databasen!" ); System . avsluta ( 0 ); } Påstående stmt = anslutning . createStatement (); ResultSet rs = stmt . executeQuery ( "SELECT * FROM users" ); while ( rs . next ()) { System . ut . println ( rs . getRow () + ". " + rs . getString ( "förnamn" ) + "\t" + rs . getString ( "efternamn" )); } /** * stmt.close(); * Att stänga ett uttalande stänger automatiskt * alla öppna ResultSet - objekt som är associerade med det * / stmt . stäng (); } catch ( SQLException e ) { e . printStackTrace (); } finally { if ( conn != null ){ conn . stäng (); } } } } |
JDBC för Microsoft SQL Server |
---|
Det här exemplet använder jTDS , en gratis JDBC-drivrutin för Microsoft SQL Server och Sybase ASE SQL-Server . Du kan också ansluta till denna och andra DBMS:er med hjälp av JDBC-drivrutinen för ODBC , men till priset av att sakta ner saker och ting. |
/** * den här raden anger en alternativ DB-drivrutin. Till exempel hsql. */ // Class.forName("org.hsqldb.jdbcDriver"); Anslutningsanslutning = DriverManager . _ getConnection ( "jdbc:jtds:sqlserver://SERVER/Northwind;instance=INST;domain=Sample_NTLM_Domain" , "user" , "password" ); Påstående stmt = anslutning . createStatement (); ResultSet rs = stmt . executeQuery ( "VÄLJ Efternamn + ' ' + Förnamn SOM Fullständigt Namn, Adress FRÅN anställda" ); while ( rs . next ()) { System . ut . println ( rs . getString ( "Fullnamn" ) + "\t" + rs . getString ( "Adress" )); } rs . stäng (); stmt . stäng (); |
Databas | |
---|---|
Begrepp |
|
Objekt |
|
Nycklar | |
SQL |
|
Komponenter |