Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
JDBC vyžaduje ovládač pre každý typ databázy bude pripojiť , a výroba a údržba tohto ovládača je zodpovednosťou vývojárov databázového softvéru . V prípade MySQL , oficiálny JDBC ovládač sa nazýva MySQL :: Connector /J , a možno získať voľne z MySQL webové stránky . Vodič bude mať súbor JAR , a tento súbor musí byť v Java classpath . Väčšina Java IDE zvládne to automaticky za vás , ak pridáte súbor ovládača ako externý knižnicu .
Všetky príkazy potrebné pre interakciu s JDBC by mali byť k dispozícii prostredníctvom importu java.sql . * V hornej časti vašej triede súbor .
Zaregistrujte ovládače
To vás nevyžaduje odoslať registračný formulár na Slnku . To je povedať , Java , ktoré databázový ovládač , ktorý sa bude používať s JDBC pre nasledujúce otázky . Môžete registrovať ovládač pomocou nasledujúceho príkazu : .
Driver d = ( Driver ) Class.forName ( " com.mysql.jdbc.Driver " ) newInstance ( ) ;
Obsah meno vodiča ( com.mysql.jdbc.Driver ) sa vzťahuje iba na MySQL . Presný reťazec potrebná pre iné databázové ovládače ( napr. PostgresSQL ) sa bude líšiť .
Ak obdržíte Java.Lang.ClassNotFoundException , to s najväčšou pravdepodobnosťou znamená , že vodič nie je na ceste triedy .
nadviazať spojenie
pripojenia sú stanovené pomocou nasledujúceho príkazu :
Connection conn = DriverManager.getConnection ( url , užívateľské meno , heslo ) ,
Ak je databáza na rovnakom počítači ako klient Java , ktorý pristupuje to , potom " localhost " bude pracovať ako adresu vo väčšine prípadov . Ak číslo portu pre databázu nie je predvolená pre daný balík databázy , potom to môže byť pripojená k URL pomocou dvojbodky .
Jedným dôležitým doplnkom je identifikátor URL . To sa zmení pre rôzne databázové servery . Avšak , pre MySQL , nasledujúce by byť platné : String url = " jdbc : mysql ://localhost : 8080 " ;
Ak pripojenie zlyhá z akéhokoľvek dôvodu , bude SQLException byť hodená , a bude obsahovať chybové hlásenie s ďalšími informáciami , ktoré si môžete vytlačiť na System.err pre ladenie .
databázy časových limitov
Je dôležité si uvedomiť , že , ako vytvoriť spojenie , aktívne spojenie existuje medzi klientom a serverom . Avšak , mnoho databáz majú veľmi prísne požiadavky na time - out . Je dôležité , aby spojenie nemožno nadviazať , kým otázky sú pripravené . Skôr než nadviazanie pripojenia a potom čakať na vstup od užívateľa vedieť , aké otázky spustiť , je lepšie vytvoriť testovacie pripojenie , odpojiť a znovu pripojiť , akonáhle otázky sú k dispozícii .
Spustiť dotaz a Fetch výsledky
vydať dotaz , musíte vytvoriť vyhlásenie pomocou aktívne pripojenie k databáze
vyhlásenie s = conn.createStatement ( ) ; . s.executeQuery ( " SELECT * FROM " + tableName ) ;
Ak chcete získať výsledky , môžete ihneď spustiť : Spojené
výsledný rs = s.getResultSet ( ) ;
Resultsets
dôležité vedieť o Resultsets je , že vytiahnuť dáta zo servera jeden riadok naraz . Vyššie uvedený príkaz inicializuje iba ResultSet objektu a dostane nejakú metadáta o tento objekt ( hlavne názvy stĺpcov a typy ) . To nie je v skutočnosti načítať žiadne dáta . Údaje musia byť vytiahnutý z ResultSet a uložená v nejakom inom mieste , ako je uzatvorená spojenie , všeobecne sa slučka hľadá niečo ako :
dát LinkedList = nový LinkedList ( ) , zatiaľ čo ( rs.next ( ) ) { data.add ( rs.getString ( 1 ) ) ; //načítanie všetkých dát z prvého stĺpca }
Zavrieť Pripojenie
Väčšinu času , vodič bude spracovávať záverečnej pripojenia sám . Avšak , to môže pomôcť predísť problémom neskôr , ak budete vždy explicitne zatvorte ResultSet , vyhlásení a pripojenie , keď ste hotoví s nimi
rs.Close ( ) ; . S.close ( ) ; Conn.Close ( ) ;