Marcin nowak, Wojciech baszczyk

Slides:



Advertisements
Podobne prezentacje
Graficzny klient SVN graficzny klient SVN integrujący się z powłoką systemu dostępny tylko dla systemu Windows - do pobrania z
Advertisements

Jarosław Kurek WZIM SGGW
Programowanie w Środowiskach Zintegrowanych
Odwzorowanie obiektowo-relacyjne
Kamil Smitkiewicz Bezpieczeństwo w PHP.
Marcin Pamuła Mateusz Stefek
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
Model – View - Controler
Hibernate Klasy trwałe
Obsługa bazy danych z poziomu phpMyAdmin
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Odwzorowania relacyjno-obiektowe Hibernate Klasy trwałe.
Hibernate relacje.
Hibernate uzupełnienie
System katalogowania. Opis i architektura.
Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.
Rozwój aplikacji przy wykorzystaniu ASP.NET
Konfiguracja kont w programie Adobe Dreamweaver
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
dr hab. Ryszard Walkowiak prof. nadzw.
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
Inż. Łukasz Antoniak Promotor: dr inż. Piotr Gawrysiak Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych, 2010.
Prezentacja i szkolenie
SQL - Structured Query Language
Programowanie obiektowe – zastosowanie języka Java SE
Dziedziczenie Maciek Mięczakowski
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
C# Cz.7 Refleksja, Atrybuty
Zarządzanie informacją
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Systemy Zarządzania Bazami Danych Laboratorium 05 Widoki i eksport tabel/widoków 1.
Sieć oparta o serwer Ubuntu 12.10
Komendy SQL do pracy z tabelami i bazami
Integracja iStore z programem Subiekt GT
Systemy zarządzania treścią Wykład 5
18/11/ Języki programowania 1 Piotr Górczyński Kontrolki.
Zpiratował Rafał Kaczyński. Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. Hibernate pozwala na.
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
Wprowadzenie do spisów treści j a następnie naciśnij klawisz F5 lub kliknij pozycję Pokaz slajdów > Od początku, aby rozpocząć kurs. Na pasku komunikatów.
Toruń 28/ Metadane SAML opisują, w jaki sposób ma być realizowana komunikacja pomiędzy IdP i SP Metadane są typowo prezentowane w postaci XML.
Temat 2: Instalacja Apache, PHP i bazy danych MySQL.
Autor: Damian Urbańczyk
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Entity Framework worth it or not?
Podstawy języka skryptów
Komendy SQL do pracy z danymi
Informatyka Stosowana – ROK II / III
Hibernate Podstawy.
Połączenie JSP z MS SQL Server 2000 Łukasz Sak Tomasz Raciborski.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Konfiguracja HIBERnate, postgresQL + przykładowa aplikacja
Projektowanie postaci formularza:
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Politechnika Warszawska Wydział Elektryczny Kierunek: Informatyka stosowana Praca dyplomowa inżynierska Aplikacja do kontroli wydajności produkcji w.
ASP.NET Tworzenie i zarządzanie wyglądem aplikacji, tworzenie mapy witryny. Kontrolki nawigacyjne.
Temat: Tworzenie bazy danych
Testowanie wydajnościowe Metody testowania Apache Jmeter Serwer Jboss Baza danych PostgreSQL Testowanie wydajności odczytu z bazy danych Testowanie wydajności.
Wzorzec MVC na przykładzie CakePHP
Programowanie Obiektowe – Wykład 2
Strukturalny język zapytań SQL - historia
Programowanie obiektowe – zastosowanie języka Java SE
Technologie Informacyjne Bazy danych
Zapis prezentacji:

Marcin nowak, Wojciech baszczyk Hibernate PostgreSQL Marcin nowak, Wojciech baszczyk

PostgreSQL Jest to jeden z najpopularniejszych wolnodostępnych systemów zarządzania relacyjnymi bazami danych Działa na wielu systemach operacyjnych Posiada mechanizm Multiversion Concurrency Control jednocześnie zachowując zasady ACID. Zawiera razszeżenia obiektowe - definiowanie nowych typów, czy dziedziczenie typów tablic Zgodność ze standardem SQL pgAdmin

PostgreSQL - ograniczenia

Instalacja silnika PostgreSQL W celu instalacji należy pobrać odpowiednią wersję ze strony: http://www.postgresql.org/download/ Instalacja jest bardzo prosta i intuicyjna – wystarczy zaakceptować licencję, odpowiednią liczbę razy kliknąć „next”, a końcu „finish” Pobrana paczka zawiera serwer bazy PostgreSQL oraz narzędzie do zarządzania bazą – pgAdmin III Tworzenie nowej bazy danych również bardzo intuicyjne

pgAdmin III – główne okno

pgAdmin III – zapytania SQL

Co to jest Hibernate? Framework będący warstwą pośredniczącą pomiędzy bazą danych a aplikacją Główną funkcjonalnością jest mapowanie obiektowo-relacyjne Składa się kilku podprojektów, jak HibernateAnnotations, HibernateShards, HibernateTools itd. NHibernate – implementacja mapowania obiektowo-relacyjnego dla platformy .NET

Dodawanie zależności Hibernate do projektu Można ręcznie pobierać odpowiednie jary, ale wygodniej wykorzystać Mavena Wymagane zależności: <groupId>org.hibernate</groupId> <artifactId>hibernate-core</groudId> <version>4.3.4.Final</version> Trzeba również dodać sterownik do silnika SQL: <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.3-1101-jdbc41</version>

hibernate.cfg.xml Podstawowy plik konfigurujący połączenie z bazą danych oraz mapowanie obiektowo-relacyjne Można w nim ustawić bardzo dużo parametrów, jednak w przypadku tego tutoriala ograniczymy się do podstawowych Najprościej ściągnąć szablon z Internetu i pozmieniać w nim odpowiednie pola

connection.driver_class – klasa sterownika silnika SQL connection.url – adres:port/nazwa_bazy connection.username, connection.password – oczywiste connection.pool_size – liczba połączeń w puli JDBC Uwaga: „ The built-in Hibernate connection pool is in no way intended for production use. It lacks several features found on production-ready connection pools. See the section discussion in Hibernate Developer Guide for further information.” ~http://docs.jboss.org/hibernate/orm/4.2/quickstart/en-US/html/ch02.html#hibernate-gsg-tutorial-basic-config

dialect – klasa wspomagająca tworzenie zapytań SQL dla konkretnego dialektu Pełna lista dialektów: http://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html show_sql – włączenie/wyłączenie logowania przez hibernate treści zapytań SQL hbm2ddl.auto – parametr odpowiedzialny za generowanie schematu bazy danych na podstawie zdefiniowanego mapowania. Możliwe wartości: create – za każdym razem tworzy od nowa schemat bazy create-drop – tak samo jak wyżej, dodatkowo po zakończeniu działania dropuje bazę update – stara się aktualizować ewentualne zmiany schematu validate – sprawdza, czy schemat bazy zgadza się z mapowaniem

W tej sekcji listujemy wszystkie klasy, które mają zostać mapowane i zapisywane w bazie danych Jeżeli korzystamy z mapowania przy pomocy XML’a (o tym za chwilę), zamiast <mapping class=„klasa”/> należy użyć: <mapping resource=„ścieżka_do_pliku_mapującego.hbm.xml”/>

Klasa HibernateUtil Utworzenie sessionFactory jest kosztowne, więc wykonujemy je tylko raz jako zmienną statyczną ogólnodostępnej klasy W metodzie configure(string) podajemy ścieżkę dostępu do pliku hibernate.cfg.xml – względem katalogu resources, gdzie domyślnie szuka Hibernate Jedyny sposób utworzenia sessionFactory, który nie jest „deprecated” w Hibernate 4.3.x

Mapowanie obiektowo-relacyjne Na początku tworzymy klasy, których instancje chcemy przechowywać w bazie Standard POJO – Plain Old Java Object – prywatne pola, gettery i setery o nazewnictwie getNazwaPola() (ew. isNazwaPola() dla boolean) – bez żadnych udziwnień Następnie mapujemy obiekt na relację używając jedną z dwóch metod: starszej - przy pomocy plików XML nowszej - przy pomocy adnotacji

Mapowanie przez pliki XML Do każdej mapowanej klasy tworzymy odpowiadający plik nazwa_klasy.hbm.xml Wypisujemy wszystkie pola, które mają być odwzorowywane w bazie Niewygodne – zmiana w kodzie wymusza tę samą zmianę w pliku xml

Mapowanie przez adnotacje Nie trzeba tworzyć żadnych dodatkowych plików, całe mapowanie zawarte w adnotacjach Można adnotować pola albo gettery Mapowaną klasę oznaczamy przy pomocy @Entity, następnie oznaczamy jej pola nie będące typami prostymi oraz mające szczególne właściwości (np. klucz główny) odpowiednimi adnotacjami

Podstawowe adnotacje @Entity - klasa jest encją @Table(name=…) – nazwa tabeli w bazie, można ustawić dodatkowe opcje @Id – klucz główny @GeneratedValue(strategy=…) – strategia przydzielania id @Column(name=…) – nazwa kolumny, można ustawić dodatkowe opcje @ManyToOne – relacja wiele do jednego @OneToMany, @OneToOne, @ManyToMany – analogicznie @Embedded – pola zależnej klasy będą w tej samej tabeli (nie będzie tworzona osobna tabela) @Transient – pole nie będzie zapisywane @Lob – duży obiekt (large object)