Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Podobne dokumenty
Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Metody dostępu do danych

Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski

Wybrane działy Informatyki Stosowanej

JAVA I BAZY DANYCH. MATERIAŁY:

Wybrane działy Informatyki Stosowanej

Programowanie w języku Java. Bazy danych SQLite w Javie

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Programowanie komputerów. Wykład 10: Dostęp do baz danych z poziomu aplikacji Java. (JDBC Database Access)

Wprowadzenie do JDBC z wykorzystaniem bazy H2

JDBC (Java Database Connectivity vit )

Technologia informacyjna

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych

PROJEKTOWANIE SYSTEMU INFORMATYCNEGO

JAVA bazy danych. na bazie: Język Java - Podstawy Programowania - Jacek Rumiński

Podstawy otwartych języków programowania Java Database Connectivity (JDBC)

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

PHP: bazy danych, SQL, AJAX i JSON

Kurs programowania aplikacji bazodanowych

Problemy techniczne SQL Server

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Database Connectivity

Problemy techniczne SQL Server

dziennik Instrukcja obsługi

Instrukcja instalacji wersja 1.01

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Wybrane działy Informatyki Stosowanej

R o g e r A c c e s s C o n t r o l S y s t e m 5

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Instalacja MySQL.

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

Connection con = DriverManager.getConnection(dbUrl, username, passwd);

KONFIGURACJA INTERFEJSU SIECIOWEGO

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Problemy techniczne SQL Server

JDBC - Obsługa baz danych w języku Java

Problemy techniczne SQL Server

Bazy danych i strony WWW

Tuning SQL Server dla serwerów WWW

Rozdział 9 Obsługa baz danych w języku Java

Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik

ZSE - Systemy baz danych 1 SQL SERWER 2014 EXPRESS EDITION. INSTALOWANIE SERWERA W SYSTEMIE WINDOWS.

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Dokumentacja aplikacji Szachy online

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Administracja i programowanie pod Microsoft SQL Server 2000

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy danych i usługi sieciowe

Instrukcja instalacji programu SYSTEmSM

Paweł Rajba

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Programowanie obiektowe

DECLARE VARIABLE zmienna1 typ danych; BEGIN

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Instrukcja dla instalatora systemu SMDP Enterprise/Professional

Komunikator internetowy w C#

MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Szpieg 2.0 Instrukcja użytkownika

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Bazy danych 2. Wykład 1

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Kancelaria Prawna.WEB - POMOC

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

Projekt: MS i CISCO dla Śląska

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Podejście obiektowe do relacyjnych baz danych Hibernate.

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Dokumentacja techniczna

Asix.Evo - Uruchomienie aplikacji WWW

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Platformy Technologiczne

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Imię i Nazwisko Data Ocena. Laboratorium 7

Podstawy projektowania aplikacji biznesowych w systemie SAP R/3

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Transkrypt:

Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019

Standard JDBC Java DataBase Connectivity uniwersalny interfejs programowania (API) aplikacji bazodanowych w języku Java Funkcje: Nawiązanie połączenia z systemem baz danych z poziomu aplikacji Java Wstawianie, usuwanie oraz aktualizacja danych Pobieranie danych z bazy oraz ich przetwarzanie

Sterownik DBC Komunikacja aplikacji z bazą danych Aplikacja komputerowa System zarządzania bazą danych Baza danych

Struktura JDBC Java Platform BD JDBC API JDBC Driver Biblioteka Java Producent BD

JDBC API JDBC API biblioteka klas przeznaczonych do wysyłania kwerend w języku SQL do BD oraz pobrania wyników wykonania zapytania JDBC API jest częścią środowiska Java Platform Standard Edition (JSE) Każdy system baz danych (DBMS) w celu korzystania z JDBC API powinien posiadać własny sterownik JDBC

Podstawowe klasy JDBC API DriverManager Connection Statement ResultSet

Podstawowe klasy JDBC API DriverManager klasa odpowiedzialna za nawiązanie połączenia pomiędzy aplikacją Java a systemem BD Connection Zarządzanie połączeniem sieciowym z BD Statement Pojedyncza instrukcja języka SQL ResultSet Wynik wykonania instrukcji SQL SQLException Wyjątek SQL

Architektura dwuwarstwowa Java Application JDBC Stacja robocza DBMS Serwer baz danych

Architektura dwuwarstwowa (c.d.) Aplikacja Java komunikuje się z bazą danych bezpośrednio poprzez sterownik JDBC Źródło danych może się znajdować na tym samym bądź innym komputerze w sieci Schemat często stosowany w sieciach Intranet (połączenie przez Internet wymaga większych środków bezpieczeństwa) Aplikacje typu desktop

Architektura trójwarstwowa Przeglądarka WWW Klient Protokół HTTP Aplikacja serwerowa JDBC DBMS Serwer aplikacji Serwer baz danych

Architektura trójwarstwowa (c.d.) Użytkownik końcowy komunikuje się z aplikacją na serwerze (warstwa prezentacji) Aplikacja serwerowa (druga warstwa logika biznesowa) interpretuje rozkazy użytkownika na polecenia BD i zwraca mu wyniki Baza danych stanowi trzecią warstwę systemu Aplikacje WWW

Relacyjna baza danych Producent: Microsoft Wersja aktualna: SQL 2019 Posiada wersje komercyjne (Standard, DataCenter, Developer etc.) oraz bezpłatne (Express, ograniczone możliwości: pamięć, 1 procesor)

Pobranie sterownika JDBC dla Microsoft SQL Server http://msdn.microsoft.com/en-us/sqlserver/aa937724

Wybór wersji sterownika JDBC dla Microsoft SQL Server Microsoft JDBC Driver 6.4 for SQL Server

Podłączenie biblioteki klas JDBC do aplikacji Java Rozwinąć widok Projektu W sekcji [Libraries] wybrać z menu kontekstowego opcję [Add JAR/Folder] Następnie znaleźć na dysku i podłączyć plik mssql-jdbc-6.4.0.jre8.jar

Klasa SQLServerDriver Odpowiada za komunikację ze sterownikiem serwera baz danych Microsoft SQL Server Podłączenie dynamiczne klasy SQLServerDriver do aplikacji odbywa się za pomocą konstrukcji Class.forName z podaniem pełnej ścieżki dostępu do pliku klasy Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Parametry połączenia z serwerem baz danych Adres IP serwera (lub jego nazwa sieciowa) Port IP Opcjonalnie, jeśli nie jest podany jest wykorzystywany port domyślny (MSSQL = 1433) Nazwa bazy danych Login i hasło Opcjonalnie, w systemach Windows istnieje możliwość łączenia się za pomocą zaufanego konta użytkownika Windows

Parametry połączenia z serwerem baz danych (c.d.) W programie parametry połączenia z serwerem baz danych są najczęściej zapisywane w postaci danej typu String jdbc:sqlserver://[adres]:[port]; databasename=[nazwa BD]; user=[login użytkownika]; password=[hasło użytkownika]; instancename=[nazwa instancji SQL Server];

Przykład połączenia String cs = "jdbc:sqlserver://127.0.0.1:1433;" + "databasename=wtpw;" + "user=student;" + "password=$tudent;" + "instancename=.\\sql2014ex;";

Klasa DriverManager Klasa zarządza połączeniami z bazą danych Parametry połączenia są przekazywane do funkcji getconnection( String ) W przypadku pomyślnego nawiązania połączenia z BD, klasa DriverManager zwraca obiekt typu Connection Przykład:

Klasa java.sql.connection Klasa Connection odpowiada za utrzymanie połączenia z serwerem bazy danych Funkcje sprawdzenia stanu połączenia oraz jego zamknięcia Funkcja createstatement() zwraca obiekt klasy Statement, za pomocą którego są wysyłane zapytania SQL do bazy danych oraz odbierane są wyniki Przykład:

Klasa java.sql.statement Realizuje obsługę wysyłania pojedynczych kwerend do serwera bazy danych oraz (opcjonalnie) odbierania wyników Funkcja execute(string) wykonuje polecenie SQL

String query = Przykład "INSERT INTO STUDENCI (Album, Nazwisko, Imię, Grupa, Ocena) VALUES (123456, 'Kowalski', 'Jan', 'T9', 5)"; st.execute( query );

Klasa java.sql.statement (c.d.) Odbiór wyników zapytania odbywa się za pomocą obiektu klasy ResultSet zwracanego przy wywołaniu funkcji executequery( String ) Wynikiem dowolnego zapytania SQL jest tabela może się składać z 0 wierszy i przynajmniej 1 kolumny Organizacja dostępu do danych ResultSet Wiersze tabeli są czytane po kolei Kolumny są adresowane wg numeru (1..N) lub nazwy kolumny Przykład:

Klasa java.sql.resultset (c.d.) Koncepcja dostępu do danych ResultSet first Columns 1 (student) 2 (album) 3 (grupa) Current row Jan Nowak 12345 T3 last

Klasa java.sql.resultset (c.d.) Realizacja dostępu do danych odbywa się za pomocą funkcji next() przechodzi do następnego rekordu Zwraca false jeśli osiągnięto koniec ResultSet getint( String kolumna ) getstring( String kolumna ) getboolean( String kolumna ) itp. Zwraca wartość odpowiedniego typu we wskazanej kolumnie bieżącego rekordu

Klasa java.sql.resultset (c.d.) Przykład

Parametryzacja zapytań SQL Zapytanie SQL może być zapisane w formie parametryzowanej SELECT * FROM STUDENCI WHERE GRUPA =? Zamiast? w czasie wykonania zapytania należy podstawić odpowiednią daną (numer grupy np. wprowadzony z klawiatury) Parametryzowane zapytania obsługuje klasa PreparedStatement

Parametryzacja zapytań SQL (c.d.) Przykład

Procedury składowane Procedura składowana (ang. Stored Procedure) procedura napisana w języku SQL przechowywana i uruchamiana na serwerze Procedury składowane pozwalają na ukrycie realizacji wewnętrznej struktury bazy danych oraz przyspieszenie wykonania zapytań SQL Procedury mogą mieć parametry (zmienne) oraz zwracać wynik zapytania

Procedury składowane (c.d.) Przykład procedury składowanej CREATE PROCEDURE ListaGrup AS SELECT GRUPA, COUNT (*) FROM STUDENCI GROUP BY GRUPA

Procedury składowane (c.d.) Wywołanie procedury w kodzie programu odbywa się za pomocą klasy CallableStatement