Databáze v Javě

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Obecný: Drobná oprava vzhledu)
m (Navázání spojení: Oprava vzhledu)
Řádka 83: Řádka 83:
 
**Connection con = DriverManager.getConnection(url, userDB, passDB);
 
**Connection con = DriverManager.getConnection(url, userDB, passDB);
 
** <tt>java.sql.SQLException</tt> při chybě připojení
 
** <tt>java.sql.SQLException</tt> při chybě připojení
 +
=== Příklad kódu:===
 
<div class="Priklad">
 
<div class="Priklad">
Příklad kódu:
+
// Zkontrolujeme instalaci ovladače
         // Zkontrolujeme instalaci ovladače:
+
  try {
          try {  
+
    Class.forName("com.mysql.jdbc.Connection");
           Class.forName("com.mysql.jdbc.Connection");  
+
  } catch (ClassNotFoundException ex) {  
          } catch (ClassNotFoundException ex) {  
+
    JOptionPane.showMessageDialog(  
            JOptionPane.showMessageDialog(  
+
              null,  
                      null,  
+
              "Ovladač databáze není správně zahrnut do projektu! Nenalezena třída: "+ ex.getMessage()+"!",  
                      "Ovladač databáze není správně zahrnut do projektu! Nenalezena třída: "+ ex.getMessage()+"!",  
+
              "Chyba ovladače JDBC",  
                      "Chyba ovladače JDBC",  
+
              JOptionPane.ERROR_MESSAGE);  
                      JOptionPane.ERROR_MESSAGE);  
+
      System.exit(1);  
              System.exit(1);  
+
  }  
          }  
+
       
+
        // Připojíme se:
+
        String host = "192.168.1.1"; // IP databázového stroje nebo doménové jméno
+
        String nazevDatabaze = "programovani";
+
        String userDB = "progoa";
+
        String passDB = "progoauh";
+
        String url = "jdbc:mysql://" + host + "/" + nazevDatabaze;
+
  
          Connection con = null;  
+
  // Připojíme se
          try {  
+
String host = "192.168.1.1"; // IP databázového stroje nebo doménové jméno
            con = DriverManager.getConnection(url, userDB, passDB);  
+
String nazevDatabaze = "programovani";
          } catch (SQLException ex) {  
+
String userDB = "progoa";
              JOptionPane.showMessageDialog(  
+
String passDB = "progoauh";
                      null,  
+
String url = "jdbc:mysql://" + host + "/" + nazevDatabaze;
                      "Chyba při otevření spojení s s databází:"+ ex.getMessage(),  
+
                      "Chyba spojení s databází", JOptionPane.ERROR_MESSAGE);  
+
Connection con = null;  
              System.exit(1);  
+
  try {
          }
+
    con = DriverManager.getConnection(url, userDB, passDB);  
 +
  } catch (SQLException ex) {  
 +
      JOptionPane.showMessageDialog(  
 +
              null,  
 +
              "Chyba při otevření spojení s s databází:"+ ex.getMessage(),  
 +
              "Chyba spojení s databází", JOptionPane.ERROR_MESSAGE);  
 +
      System.exit(1);  
 +
  }
 
</div>
 
</div>
  

Verze z 18. 9. 2014, 01:08


Obsah

Podporované databáze


JavaDB


API pro práci s databází

JDBC — The Java Database Connectivity

Java Data Objects (JDO)


Standard ODBC


Instalace ovladače JDBC

Stažení ovladačů

Zařazení ovladače do projektu

Pro JDK
Pro NetBeans


Práce s JDBC

Třídy

Navázání spojení

Příklad kódu:

// Zkontrolujeme instalaci ovladače
try {
    Class.forName("com.mysql.jdbc.Connection");
} catch (ClassNotFoundException ex) { 
    JOptionPane.showMessageDialog( 
            null, 
            "Ovladač databáze není správně zahrnut do projektu! Nenalezena třída: "+ ex.getMessage()+"!", 
            "Chyba ovladače JDBC", 
            JOptionPane.ERROR_MESSAGE); 
    System.exit(1); 
} 
// Připojíme se
String host = "192.168.1.1"; // IP databázového stroje nebo doménové jméno 
String nazevDatabaze = "programovani"; 
String userDB = "progoa"; 
String passDB = "progoauh"; 
String url = "jdbc:mysql://" + host + "/" + nazevDatabaze; 

Connection con = null; 
try {
    con = DriverManager.getConnection(url, userDB, passDB); 
} catch (SQLException ex) { 
    JOptionPane.showMessageDialog( 
            null, 
            "Chyba při otevření spojení s s databází:"+ ex.getMessage(), 
            "Chyba spojení s databází", JOptionPane.ERROR_MESSAGE); 
    System.exit(1); 
}
con = DriverManager.getConnection("jdbc:mysql:///test" + "?socketFactory=com.mysql.jdbc.NamedPipeSocketFactory", "uzivatel", "heslo");

Dotazy

Uzavření spojení

Zdroje


Dotazy v JDBC

Vytvoření dotazu

java.sql.Statement con.createStatement();

Select

statement.executeQuery(String select);
ResultSet statement.getResultSet();

ResultSet

String rs.getString(číslo sloupce nebo název sloupce jako String)
int rs.getInt(...)
...
while (rs.next()) { ... }

Update, Insert, Delete, DDL

Obecný

statement.execute(String sql)

Příklad kódu

        Statement st = null; 
        try { 
            st = con.createStatement(); 
            ResultSet rs = null; 
            rs = st.executeQuery("SELECT * FROM uzivatele"); 
            int pocetRadku = st.executeUpdate("INSERT INTO uzivatele VALUES ('karel', PASSWORD('x'));"); 
        } catch (SQLException ex) { 
            Logger.getLogger(DatabazePrvni.class.getName()).log(Level.SEVERE, null, ex); 
        } 
        if (con != null) { 
            try { 
                con.close(); 
            } catch (SQLException ex) { 
                Logger.getLogger(DatabazePrvni.class.getName()).log(Level.SEVERE, null, ex); 
            } 
        }

Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje