Inne działy

Java przykładowe programy

 

Połączenia z bazą danych przy użyciu kodu Java

 

W dalszej części, można utworzyć formularz Java, który ładuje dane z bazy danych. Formularz będzie miał przyciski Następny i Poprzedni, aby przejść przez dane. Poszczególne rekordy zostaną wyświetlone w polach tekstowych. Dodamy także przycisk dodaj dla aktualizacji rekordu, usuń rekord, i utwórz nowy rekord w bazie danych.

Rozpoczynamy nowy projekt, klikając File > New Project z menu NetBeans. Wybierz Java Application. Utwórz pakiet baza_danych, i klasę  Baza_danych:

 

 

Po kliknięciu przycisku Finish, kod powinien wyglądać tak:

 

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package baza_danych;

/**
 *
 * @author uazz
 */
public class Baza_danych {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }
    
}

Połączenia z bazą danych

 

Aby połączyć się z bazą danych potrzebny jest obiekt Connection. Obiekt Connection wykorzystuje klasę DriverManager. Klasa DriverManager przekazuje nazwę użytkownika bazy danych, hasła, i lokalizacjię bazy danych.

Dodaj te trzy instrukcje importu w kodzie:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

Aby skonfigurować połączenie z bazą danych, kod jest następujący:

Connection con = DriverManager.getConnection( host, użytkownik, hasło );

Klasa DriverManager ma metodę zwaną getConnection. Wymaga ona podania nazwy hosta (gdzie jest zlokalizowana baza danych), nazwy użytkownika oraz hasła. Jeśli połączenie zostanie nawiązane, zostanie utworzony obiekt połączenia, który nazwiemy con .

Możesz uzyskać adres hosta, patrząc na karte Services w NetBeans:

 

 

Adres podświetlonej bazy powyżej jest następujący:

jdbc:derby://localhost:1527/Pracownicy

Pierwsza część, jdbc:derby://localhost, to typ bazy danych i serwer, który używasz. 1527 to numer portu. Baza danych to Pracownicy . To wszystko można przypisać do zmiennej typu String:

String host = "jdbc:derby://localhost:1527/Pracownicy";

Dwa kolejne łańcuchy mogą być dodane z nazwą użytkownika i hasłem:

String uzytkownik = "nazwa_użutkownika";
String haslo = " nasze_hasło ";

Dodaj te trzy ciągi przed obiektem połączenia i kod będzie wyglądał tak jak poniżej:

 

public class Baza_danych {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
       String host = "jdbc:derby://localhost:1527/Pracownicy";
       String uzytkownik = "pracownik";
       String haslo = "pracownik";
       Connection con = DriverManager.getConnection(host,uzytkownik,haslo);
    }
}

Jak widać ostatnia instrukcja kodu połączenia Connection con, jest podkreślona falistą linią. Powodem tego jest, ponieważ wystąpił konkretny błąd, który wystąpi podczas łączenia się z bazą danych – SQLException error.

Klasa DriverManager próbuje połączyć się z bazą danych. Jeśli to się nie powiedzie (na przykład podamy nieprawidłowy adres hosta,) to zostanie zwrócony błąd SQLException.Trzeba napisać kod, aby poradzić sobie z tym potencjalnym błędem. W poniższym kodzie, przechwytujemy błąd w bloku instrukcji try ... catch:

try {

}
catch ( SQLException err ) {
System.out.println( err.getMessage( ) );
}

Pomiędzy nawiasami okrągłymi instrukcji catch, ustawić obiekt SQLException o nazwie err . Możemy wtedy użyć metodę GetMessage obiektu Err. 

 
Dodaj powyższy bloktry ... catch  do własnego kodu, i umieść cztery linie z kodem nawiązującym połączenie z bazą danych do części try. Twój kod będzie wyglądał tak:

 

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package baza_danych;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

/**
 *
 * @author uazz
 */
public class Baza_danych {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        try{
            String host = "jdbc:derby://localhost:1527/Pracownicy";
            String uzytkownik = "pracownik";
            String haslo = "pracownik";
            Connection con = DriverManager.getConnection(host,uzytkownik,haslo);
        } catch(SQLException err){
            System.out.println(err.getMessage());
        }
    }
    
}

Spróbuj uruchomić swój kod i zobaczyć co się stanie.

Możesz otrzymać komunikat o błędzie w oknie konsoli:

" java.net.ConnectException: Błąd podczas łączenia z serwerem localhost na porcie 1527 z komunikatem Connection refused: connect."

Jeśli tak, oznacza to, że nie jesteś połączony z serwerem bazy danych. W takim przypadku, kliknij prawym przyciskiem myszy na Java DB w oknie Services. Z menu, które się pojawi, kliknij polecenie Start Server.

Musisz upewnić się, że zapora sieciowa nie blokuje połączenia z serwerem. Dobry firewall natychmiast wyświetli komunikat informujący, że jakiś program stara się połączyć, i pyta, czy chcesz zezwolić lub odmówić połączenia. Gdy pozwalasz na połączenie, twóje okno wyjście NetBeans powinno wyświetlić następujący komunikat:

"Apache Derby Network Server - 10.4.1.3 - (648739) started and ready to accept connections on port 1527 at DATE_AND_TIME_HERE"

Gdy serwer zostanie uruchomiony, uruchom ponownie program. Jest bardzo duża szansa, że dostaniesz kolejny komunikat o błędzie:

"No suitable driver found for jdbc:derby://localhost:1527/Pracownicy"

Powodem tego błędu jest to, że DriverManager potrzebuje sterownika, aby połączyć się z bazą danych. Przykładowe sterowniki to Client Drivers i Embedded Drivers. Można importować jeden z nich, aby DriverManager mógł wykonywać swoje zadania.

Kliknij na karcieProjects  w oknie z lewej strony oknaServices w NetBeans. (Jeśli nie można zobaczyć zakładki Projects, kliknij polecenie Window> Projects z paska menu na górze NetBeans.)

Zlokalizuj projekt i rozwiń wpis. Kliknij prawym przyciskiem myszy na Libraries . Z menu, które się pojawi, wybierz opcję AddJAR / Folder :

 

 

Po kliknięciu na Add Jar/Folder pojawi się okno dialogowe. W oknie tym możesz dodać pliku Java Archive do projektu. Ale plik JAR, który dodajesz jest dla derby  klientem Client Drivers. Więc trzeba znaleźć ten folder. Na komputerze z systemem Windows będzie to w następującej lokalizacji:

c:\Program Files\Java\jdk1.7.0_45\db\lib\

Plik, którego szukasz nazywa się derbyclient.jar. Jeśli nie możesz go znaleźć, lub korzystasz z systemu operacyjnego innego niż Windows, to nie szukaj tego pliku. Należy zwrócić uwagę na lokalizację pliku.

W oknie dialogowym wybierz plik derbyclient.jar:

 

 

Kliknij przycisk Open, a plik zostanie dodany do biblioteki projektu:

 

 

Teraz, masz dodany do projektu sterownik klienta, należy ponownie uruchomić program. Teraz połączenie z bazą danych powinno być wolne od błędów. 

 W następnej lekcji będziemy kontynuować kurs bazy danych Java.

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.