Databáze v Javě

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Instalace ovladače JDBC: Drobné úpravy.)
(Instalace ovladače JDBC: Přepracováno pro NetBeans 8)
Řádka 36: Řádka 36:
  
  
== Instalace ovladače JDBC ==
+
== Ověření/ruční připojení k serveru ==
 +
* Záložka <code>Services</code> (vedle stromu projektu) <code>&rarr; Databases &rarr; Drivers </code>
 +
* Vybrat <code>MySQL (Connector/J Driver)</code>
 +
* <code>Pravé tlačítko &rarr; Connect Using...</code>
 +
* Zadejte přihlašovací údaje a název databáze pro připojení k serveru.
 +
* V <code>Services</code> se vytvoří připojení, pomocí něj mohu editovat tabulky atd.
 +
 
 
<div class="Varovani">
 
<div class="Varovani">
 
Většina databázových serverů nepodporuje připojení z dálky!
 
Většina databázových serverů nepodporuje připojení z dálky!
  
Konfigurace nastavení přístupu z dálky na serveru je pro MySQL na: [[Vzdálený přístup k databázi]].
+
Na vlastním serveru můžete pro konfiguraci nastavení přístupu z dálky použít návod: [[Vzdálený přístup k databázi]].
 
</div>
 
</div>
  
=== Stažení ovladačů (pouze NetBeans verze nižší než 8) ===
 
<div class="Poznamka">V NetBeans verze 8 je ovladač již předinstalován, není tedy třeba stahovat.</div>
 
* Pro MySQL [http://www.mysql.com/downloads/connector/j/ Connector/J].
 
**zazipováno včetně dokumentace
 
**nám stačí balíček JAR
 
  
=== Zařazení ovladače do projektu ===
+
== Zařazení ovladače JDBC do projektu (NetBeans 8) ==
; Pro JDK
+
 
* [http://download.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html Tutoriál Oracle]
+
* Pravé tlačítko na projekt &rarr; Properties &rarr; Libraries &rarr; Add Library...
; Pro NetBeans:
+
* V Global Libraries vybrat: <code>MySQL JDBC Driver</code>.
* Stáhnout: <http://www.linglom.com/2007/12/05/accessing-mysql-on-netbeans-using-jdbc-part-i-create-a-connection/>
+
**Rozbalit
+
**Soubor .JAR zkopírovat do složky <tt>lib</tt> v rámci projektu
+
*Zařazení ovladače:
+
**pravé tlačítko na projekt &rarr; Properties &rarr; Libraries &rarr; Add JAR File
+
**Najít <tt>mysql-connector-java....jar</tt> v <tt>lib</tt>.
+
*Ověření/ruční připojení
+
**Záložka Services (vedle stromu projektu)-> Databases-> Drivers
+
**Vybrat nebo přidat Connector/J
+
**Pravé tlačítko -> Connect Usign...
+
**V Services se vytvoří připojení, pomocí něj mohu editovat tabulky atd.
+
  
 
== Práce s JDBC ==
 
== Práce s JDBC ==

Verze z 16. 9. 2015, 11:00


Obsah

Jaké databázové stroje podporuje Java?

JavaDB

API pro práci s databází

JDBC — The Java Database Connectivity

Java Data Objects (JDO)


Standard ODBC


Ověření/ruční připojení k serveru

Většina databázových serverů nepodporuje připojení z dálky!

Na vlastním serveru můžete pro konfiguraci nastavení přístupu z dálky použít návod: Vzdálený přístup k databázi.


Zařazení ovladače JDBC do projektu (NetBeans 8)

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