JDBC



JDBC ( Java DataBase Connectivity) je rozhranie tried v Jave, ktoré slúžia na komunikáciu s rôznymi SQL databázami. Tri hlavné veci ktoré JDBC umožnuje sú :

  • vytvorenie spojenia s databázou
  • posielanie SQL dotazov
  • získavanie a spracovanie resultov

  • Architektúra JDBC

    jdbc_ds_applet.gif - 8517 Bytes

    Použitie JDBC

    Vytvorenie spojenia s databázou :
    Najprv je potrebné natiahnuť špecifický ovladač pre databázu do ktorej chceme pristupovať. To sa vykoná príkazom:
        Class.forName("myDriver.ClassName");
    
    Napríklad pre MySQL to bude:
        Class.forName("com.mysql.jdbc.Driver");
    
    To je vlastne umiestnenie danej triedy v balikovej hierarchii.
    Ked je ovladac natiahnuty, vytvoríme inštanciu objektu Connection použitím
        Connection con = DriverManager.getConnection(
            "jdbc:mySubprotocol:myDataSource", username, password);
    
    Opäť príklad pre MySQL:
        Connenction con = DriverManager .getConenction(
            "jdbc:mysql://hostname:3306/database", username, password);
    
    Vytvorenie SQL príkazov
    Na zasielanie SQL dotazov databázovému serveru sa používa objekt Statement. Na vytvorenie objektu Statement je potrebné aktívne spojenie, objekt Statement je vrátený zavolaním metody createStatement objektu Connection.
        Statement stmt = con.createStatement() ;
    
  • CREATE/INSERT/UPDATE dotazy

  • Na vykonanie týchto dotazov sa používa metóda executeUpdate. Napríklad:
        stmt.executeUpdate("CREATE TABLE users(username VARCHAR(8), password VARCHAR(20));");
        stmt.executeUpdate("INSERT INTO users VALUES('Jozef', 'Jozef');");
    
  • SELECT dotazy

  • Na získavanie a spracovanie výsledkov databázových dotazov sa používa objekt ResultSet, ktorý je vrátený zavolaním metódy executeQuery objektu Statement
    	ResultSet rs = stmt.executeQuery("SELECT * FROM users;");
    
    Vypísanie vysledku na štandardný výstup potom môže vyzerať napríklad takto:
        while(rs.next()) {
             String username = rs.getString("username");
      	  String password = rs.getString("password");
             System.out.println("User:"+username+" Password"+password+"\n");
        }
    

    Konfiguračné záležitosti

    Príklady

    Servlety
    Servlet sources
    Vytvorenie tabuľky:
    alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
    source


    Pridávanie údajov do databázy:
    alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
    source


    Vyýber údajov z databázy:


    alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!
    source


    Aktualna verzia tychto stranok je na http://skmi.science.upjs.sk/~radiohead/jdbc/