mgr inż. Michał Paluch

Wielkość: px
Rozpocząć pokaz od strony:

Download "mgr inż. Michał Paluch"

Transkrypt

1

2 Spring DAO Wzorzec projektowy Data Access Object (DAO) rozdzielenie mechanizmu trwałości obiektów od reguł biznesowych Oferuje wsparcie dla interfejsu JDBC narzędzi ORM: Hibernate, JDO, ibatis SQL Maps Dlaczego kolejna warstwa nad JDBC? zarządzanie Connection, ResultSet, Statement uniwersalny wyjątek DataAccessException

3 Spring DAO Połączenie przez JDBC... import org.springframework.jdbc.core.jdbctemplate; import org.springframework.jdbc.datasource.drivermanagerdatasource;... DriverManagerDataSource dbbean = (DriverManagerDataSource)ctx.getBean("dbBean"); JdbcTemplate template = new JdbcTemplate(dbBean); List result = template.queryforlist("select * FROM emp"); for (Object o : result) { Map map = (Map)o; System.out.println(map.get("ENAME") + " " + map.get("job")); }

4 Spring DAO Konfiguracja połączenia <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans>... <bean id="databean" class="org.springframework.jdbc.datasource.drivermanagerdat asource"> <property name="driverclassname" value="oracle.jdbc.driver.oracledriver"/> <property name="url" <property name="username" value="student"/> <property name="password" value= psoir"/> </bean> </beans>

5 Transakcje w Spring Framework Wsparcie transakcji w architekturze Spring Interfejs PlatformTransactionManager Wybór między JTA, Hibernate, JDO, JDBC Szablon TransactionTemplate Deklaratywne zarządzanie transakcjami za pomocą POJO i programowania aspektowego przy użyciu ProxyFactoryBean i TransactionInterceptor, Demarkacja transakcji przez metadane i adnotacje, Jednolity obraz dla transakcji lokalnych i globalnych

6 Transakcje w Spring Konfiguracja... <bean id="datasource" class="org.springframework.jndi.jndiobjectfactorybean"> <property name="jndiname" value="java:comp/env/jdbc/sid"/> </bean> <bean id="transactionmanager" class="org.springframework.transaction.jta.jtatransactionmanager "/> <bean id="empmanagerjdbcbean" class= com.spring.managerjdbc"> <property name="datasource"><ref bean="datasource"/></property> </bean>

7 Transakcje w Spring Konfiguracja cz.2... <bean id="empmanagerbean" class="org.springframework.transaction.interceptor.transactionproxyfactor ybean"> <property name="transactionmanager"> <ref bean="transactionmanager"/></property> <property name="target"><ref bean="empmanagerjdbcbean"/></property> <property name="transactionattributes"> <props> <prop key="load*">propagation_required,readonly</prop> <prop key="store*">propagation_required</prop> </props> </property> </bean>

8 Spring MVC Kontrolery i interceptory wewnątrz kontenera IoC Zalety w porównaniu ze Struts to: Bardziej elastyczna architektura Serwlety DispatcherServlet współdzielą kontekst Łatwa konfiguracja środowiska Brak zależności aplikacji od szkieletu Warstwa widoku niezwiązana z technologią

9 Spring MVC Zalety modelu: Separacja warstw modelu, prezentacji i kontrolera Model niezależny od Spring API lub Servlet API Obiekty modelu do obsługi formularzy Testowanie przy pomocy JUnit Integracja z warstwą pośrednią Integracja z technologiami warstwy prezentacji

10 Spring MVC przykład cz.2 <?xml version = '1.0' encoding = 'windows-1252'?> <web-app> <servlet> <servlet-name>empstudent</servlet-name> <servletclass>org.springframework.web.servlet.dispatcherservle t</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>empstudent</servlet-name> <url-pattern>/empstudent/*</url-pattern> </servlet-mapping> </web-app>

11 Spring MVC - przykład <bean name="/index" class="my.spring.empstudentcontroller"/> <bean id="dbbean" </bean> <bean class="org.springframework.web.servlet.view.internalresource ViewResolver"> <property name="prefix"><value>/web- INF/jsp/</value></property> <property name="suffix"><value>.jsp</value></property> <property name="viewclass"> <value>org.springframework.web.servlet.view.jstlview</value> </property> </bean>

12 Spring MVC przykład cz.3 public class EmpStudentController implements Controller { public ModelAndView handlerequest( HttpServletRequest request,httpservletresponse response) throws ServletException, IOException { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); DriverManagerDataSource dbbean = (DriverManagerDataSource)ctx.getBean("dbBean"); JdbcTemplate template = new JdbcTemplate(dbBean); List employeesraw = template.queryforlist("select ename from emp"); List employees = new ArrayList(); for (Object o : employeesraw) employees.add(((map)o).get("ename")); ModelAndView mv = new ModelAndView("emps"); mv.addobject("employees", employees); return mv; } }

13 Spring MVC przykład cz.4 page contenttype="text/html;charset=windows-1252" %> taglib uri=" prefix="c" %> <html> <body> <c:foreach var="emp" items="${students}"> <c:out value="${emp}"/> <br/> </c:foreach> </body> </html>

14

15 TECHNOLOGIE ORM Object-Relational Mapping obejmuje: API do zarządzania trwałością obiektów mechanizm specyfikowania metadanych Descujących - odwzorowanie klas na relacje w bazach danych język do wykonywania zapytań Najpopularniejszą implementacją ORM jest Hibernate.

16 Hibernate Najpopularniejsza implementacja odwzorowania obiektowo-relacyjnego dla języka Java Relational Persistence For Idiomatic Java obsługa asocjacji, kompozycji, dziedziczenia, polimorfizmu, kolekcji Wysoka wydajność i skalowalność Wiele sposobów wydawania zapytań Wykorzystuje siłę technologii relacyjnych baz danych

17 Architektura Hibernate Żródło:

18 Konfiguracja Hibernate <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" " <hibernate-configuration> <session-factory> <property name="hibernate.connection.datasource">jdbc/sample</property> <property name="dialect"> org.hibernate.dialect.oracledialect</property> <mapping resource="myhib/student.hbm.xml"/> </session-factory> </hibernate-configuration>

19 Student Class Są to klasy implementujące encje występujące w modelu danych aplikacji Definiowane w formie POJO Posiadające sztuczny identyfikator public class Student { private Long id; private String dname; public void setid(long id) { this.id = id; } public Long getid() { return id; } public void setdname(string dname) { this.dname = dname; } public String getdname() { return dname; } }

20 ORM w Hibernate Definiowane w pliku lub plikach XML typowo odrębny plik dla każdej klasy zwyczajowe rozszerzenie.hbm.xml. Zorientowane na Desc odwzorowania z punktu widzenia klasy Java, a nie tabeli Tworzone ręcznie lub generowane za pomocą narzędzi Typowo pliki odwzorowania wskazywane w pliku konfiguracyjnym hibernate.cfg.xml

21 ORM, przykład odwzorowania <?xml version="1.0"?> <hibernate-mapping package= kisstud"> <class name= Student" table= Student"> <id name="id" type="long" column= studno"> <generator class="sequence"> <param name="sequence">stud_seq</param> </generator> </id> <property name= studname" column= studname type="string" not-null="true /> </class> </hibernate-mapping>

22 Interfejsy Hibernate API SessionFactory służy do tworzenia obiektów Session obiekt tworzony raz dla całej aplikacji Session jednostka pracy ( unit of work ) obsługuje trwałość obiektów Transaction transakcja w bazie danych najczęściej jedna w sesji

23 Przykład 1 SessionFactory sf =New Configuration().configure().buildSessionFacto ry(); Session s = sf.opensession(); Transaction tx = s.begintransaction(); Student d = new Student(); d.setstudname( Anarkowski"); s.save(d); tx.commit(); s.close();

24 Stany obiektu Ulotny (ang. transient) utworzony operatorem new, ale niezwiązany z sesją Trwały (ang. persistent) posiada identyfikator i reprezentację w bazie danych związany z sesją Odłączony (ang. detached) obiekt, który był trwały, ale jego sesja się zakończyła można go modyfikować, a następnie związać z nową sesją

25 Obsługa obiektów w Hibernate Uczynienie obiektu trwałym: metoda save() obiektu Session Odczyt obiektu o znanym identyfikatorze: metody load() i get() obiektu Session Usunięcie obiektu: metoda delete() obiektu Session Modyfikacja trwałego obiektu metody setxxx() obiektu Synchronizacja obiektów odłączonych metody update(), saveorupdate() i merge() obiektu Session

26 Przykłady obsługi obiektów Utworzenie i zachowanie obiektu Student d = new Student(); d.setstudname("anarkowski"); Long genid = (Long) session.save(d); Odczyt i modyfikacja obiektu Student d = (Student) session.load(student.class, new Long(20)); d.setstudname(" Anarkowski XYZ"); Usunięcie obiektu Student d = (Student) session.load(student.class, new Long(20)); session.delete(d);

27 Zapytania w Hibernate Zapytania w języku HQL (Hibernate Query Language) składnia podobna do SQL zorientowany obiektowo zapytania odwołują się do klas, a nie tabel Zapytania w natywnym SQL Zapytania poprzez obiekty Criteria Zapytania poprzez obiekty Example

28 Asocjacje w Hibernate 1:1, N:1, 1:N, N:M Z tabelą pośrednią (1:1, N:1, 1:N, N:M) lub bez (1:1, N:1, 1:N) Jednokierunkowe lub dwukierunkowe Istnieje możliwość kaskadowej propagacji operacji na następujące obiekty zależne: none, all, save-update, delete, all-deleteorphan

29 Java Persistence API Standard dotyczący zapewniania trwałości obiektów w aplikacjach Java EE i Java SE Rola Java Persistence na tle technologii ORM oparty o odwzorowanie obiektoworelacyjne definiuje standardowe API

30 Elementy standardu JPA Interfejs programistyczny Java Persistence API Język zapytań Java Persistence Query Language Metadane o odwzorowaniu obiektoworelacyjnym

31 Encje Encja (ang. entity) to lekki obiekt służący do reprezentacji trwałych danych Typowo reprezentuje tabelę z relacyjnej bazy danych Definiowana w formie klasy encji i ewentualnie klas pomocniczych Wymagania dla klas encji: POJO z bezargumentowy konstruktor (public lub protected) implementacja Serializable, jeśli obiekty będą odłączane

32 Przykład public class Blad implements Serializable private Long id; private String code; private String Desc; public Blad() { } public Long getid() { return id; } public void setid(long id) { this.id = id; } public String getcode() { return code; } public void setcode(string code) { this.code = code; } public String getdesc() { return Desc; } public void setdesc(string Desc) { this.desc = Desc; } }

33 Związki pomiędzy encjami Liczność 1:1 1:N N:1 N:M Kierunkowość dwukierunkowe jednokierunkowe Kaskada operacji: PERSIST, MERGE, REMOVE, REFRESH, ALL

34 Entity Manager Zarządca encji zarządzany przez kontener (EJB, JSF) wstrzykiwany do komponentu EntityManager em; kontekst trwałości propagowany między komponentami w ramach transakcji JTA Zarządca encji zarządzany przez aplikację (serwlety,se) tworzony i niszczony przez aplikację każdy zarządca encji tworzy odrębny kontekst EntityManagerFactory emf; EntityManager em = emf.createentitymanager();

35 Persistence Unit Definiuje zbiór klas encji zarządzanych przez EntityManager w aplikacji Obejmuje klasy encji z jednej bazy danych Definiowana w pliku konfiguracyjnym persistence.xml Posiada nazwę unikalną w zasięgu widzialności W aplikacjach Java EE wykorzystuje źródło danych obsługujące transakcje JTA nieobsługujące transakcji JTA W aplikacjach Java SE zawiera parametry połączenia

36 Plik persistence.xml <?xml version="1.0" encoding="utf-8"?> <persistence version="1.0"...> <persistence-unit name= Testy" transactiontype="jta"> <provider>oracle.toplink.essentials.ejb.cmp3.entityman agerfactoryprovider</provider> <jta-data-source>jdbc/sample</jta-data-source> <properties> <property name="toplink.ddl-generation" value="createtables"/> </properties> </persistence-unit> </persistence>

37 Cykl życia encji Instancje encji są zarządzane przez instancję EntityManager Stany instancji encji: nowa (ang. new) zarządzana (ang. managed) odłączona (ang. detached) usunięta (ang. removed)

38 Utrwalenie instancji EntityManager em; Blad b = new Blad(); b.setkod("b001"); b.setopis("niedozwolona operacja w module X"); em.persist(b);

39 Operacje na encjach Metoda find() Metoda refresh() Metoda merge() Moment zapisu danych do bazy: automatycznie: gdy transakcja jest zatwierdzana jawnie: w wyniku wywołania metody flush() Strategia blokowania danych domyślnie blokowanie optymistyczne Metoda lock()

40 Rodzaje zapytań do bazy Rodzaje zapytań dynamiczne w JPQL - createquery() dynamiczne natywne - createnativequery() nazwane Parametryzacja zapytań nazwane pozycyjne Wykonanie zapytania (metody obiektu Query) getresultlist(), getsingleresult() executeupdate()

41 Zapytanie dynamiczne EntityManager em; List<X> zn = null; Query q = em.createquery( "SELECT x FROM X x WHERE x.opis LIKE '%cosx%'"); zn = q.getresultlist();

42 = "findbykeyword", query = "SELECT x FROM X x WHERE x.opis LIKE :cosx") EntityManager em; List<Blad> zn = null; zn = em.createnamedquery("findbykeyword").setparameter("keyword", "%oneofx%").getresultlist();

43 JPQL Umożliwia formułowanie przenaszalnych zapytań, niezależnych od specyfiki poszczególnych systemów Zapytania operują na abstrakcyjnym schemacie obejmującym encje i związki między nimi Składnia podobna do SQL: zapytania SELECT-FROM-WHERE-GROUP BYHAVING-ORDER BY polecenia UPDATE i DELETE dla masowych operacji modyfikacji i usuwania: UPDATE-SET-WHERE, DELETE-FROM-WHERE Wyrażenia ścieżkowe do nawigacji do związanych encji

44 Przykłady JPQL SELECT DISTINCT * FROM Wykonawca w, IN(w.albumy) SELECT DISTINCT * FROM Wykonawca w JOIN w.albumy a SELECT * FROM Album a WHERE a.autor.nazwa = Kukiz

45 MATERIAŁY oc/bnafd.html javaee/jsp/index.html x.htm ibernate_pdf_version.htm

46 Dziękuję za uwagę

Odwzorowanie obiektowo-relacyjne

Odwzorowanie obiektowo-relacyjne Odwzorowanie obiektowo-relacyjne Wykład prowadzi: Marek Wojciechowski Odwzorowanie obiektowo-relacyjne 1 Plan wykładu Odwzorowanie obiektowo-relacyjne (O/RM) Hibernate Java Persistence Odwzorowanie obiektowo-relacyjne

Bardziej szczegółowo

Dostęp do baz danych w aplikacjach Java EE

Dostęp do baz danych w aplikacjach Java EE Dostęp do baz danych w aplikacjach Java EE Wykład prowadzi: Marek Wojciechowski JDBC SQLJ Plan wykładu Biblioteka znaczników JSTL SQL EJB (do wersji 2.1) Odwzorowanie obiektowo-relacyjne (O/RM) Java Persistence

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Obiekt interfejsu Session Jest to podstawowy interfejs komunikacji pomiędzy aplikacją, a API Hibernate

Bardziej szczegółowo

Wielowarstwowe aplikacje internetowe. Spring. Autorzy wykładu: Mikołaj Morzy Marek Wojciechowski. Spring

Wielowarstwowe aplikacje internetowe. Spring. Autorzy wykładu: Mikołaj Morzy Marek Wojciechowski. Spring Wielowarstwowe aplikacje internetowe Spring Autorzy wykładu: Mikołaj Morzy Marek Wojciechowski Spring Plan wykładu Wprowadzenie Infrastruktura Spring Kontener Inversion of Control / Dependency Injection

Bardziej szczegółowo

Tworzenie aplikacji J2EE w oparciu o Spring Framework

Tworzenie aplikacji J2EE w oparciu o Spring Framework 314 Tworzenie aplikacji J2EE w oparciu o Spring Framework Jeśli to rozumiesz, to znaczy, że już jest przestarzałe. Kryterium nowoczesności wg Bittona Plan prezentacji 315 Wprowadzenie Infrastruktura Spring

Bardziej szczegółowo

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Wirtualne przedsiębiorstwo II Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Łukasz Macierzyński 157588 Daniel Nikończuk 157621 Kacper Oko 157626 Agenda 1. Co to jest mapowanie obiektowo-relacyjne

Bardziej szczegółowo

Odwzorowanie obiektoworelacyjne

Odwzorowanie obiektoworelacyjne Odwzorowanie obiektoworelacyjne Wykład opracowali: Marek Wojciechowski i Tomasz Koszlajda Plan wykładu Techniki odwzorowania O/R JDBC Hibernate Java Persistence 1 Odwzorowanie obiektowo-relacyjne Odwzorowanie

Bardziej szczegółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Konwersja i walidacja W wyniku działania konwersji i walidacji surowe dane, przesyłane w postaci

Bardziej szczegółowo

Podejście obiektowe do relacyjnych baz danych Hibernate.

Podejście obiektowe do relacyjnych baz danych Hibernate. Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady

Bardziej szczegółowo

Podstawy frameworka Spring

Podstawy frameworka Spring Podstawy frameworka Spring Adresaci szkolenia: Szkolenie przeznaczone jest dla programistów znających język Java, chcących poszerzyć swoje kompetencje w zakresie tworzenia aplikacji.koncepcja szkolenia

Bardziej szczegółowo

Tomasz Dobek. t.dobek@students.mimuw.edu.pl

Tomasz Dobek. t.dobek@students.mimuw.edu.pl Spring Framework Tomasz Dobek t.dobek@students.mimuw.edu.pl Plan prezentacji Spring z lotu ptaka Kontener Spring IoC Spring AOP Menedżer transakcji w Springu Spring DAO Testy integracyjne Podsumowanie

Bardziej szczegółowo

Podstawowe wykorzystanie Hibernate

Podstawowe wykorzystanie Hibernate Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 24 maja 2018 Plan wykładu 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 509 / 553 Plan wykładu Trwałość obiektów 1 Trwałość obiektów

Bardziej szczegółowo

Hibernate. Adrian Gawor, Adam Klekotka, Piotr Kubisz. Technologie Biznesu Elektronicznego. 12 maja 2009

Hibernate. Adrian Gawor, Adam Klekotka, Piotr Kubisz. Technologie Biznesu Elektronicznego. 12 maja 2009 Agenda Hibernate Adrian Gawor, Adam Klekotka, Piotr Kubisz Technologie Biznesu Elektronicznego 12 maja 2009 Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 1 / 42 Agenda 1 2 3 4 5 6 7 Adrian Gawor,

Bardziej szczegółowo

Java Enterprise Edition spotkanie nr 6. przygotował Jacek Sroka. Java Persistence API

Java Enterprise Edition spotkanie nr 6. przygotował Jacek Sroka. Java Persistence API Java Enterprise Edition spotkanie nr 6 Java Persistence API Trwałość Serializacja dane reprezentowane binarnie lub w XMLu brak wyszukiwania brak transakcji O/R mapping zazwyczaj: klasa->tabela, obiekt->wiersz,

Bardziej szczegółowo

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

SPRING FRAMEWORK. dr inż. Jakub Chłapioski SPRING FRAMEWORK Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej ul. Wólczanska 221/223 budynek B18, 90-924 Łódź dr inż. Jakub Chłapioski 3. Spring Data Access Zarządzanie transakcjami

Bardziej szczegółowo

Bazy danych tworzenie aplikacji bazodanowych ORM / JPA

Bazy danych tworzenie aplikacji bazodanowych ORM / JPA Bazy danych tworzenie aplikacji bazodanowych ORM / JPA ORM (Object Relationa Mapping)/ORB (Object Relational Broker) to nazwa mechanizmu tłumaczenia obiektowej postaci danych wykorzystywanej w aplikacjach

Bardziej szczegółowo

Enterprise JavaBeans 3.0

Enterprise JavaBeans 3.0 Enterprise JavaBeans 3.0 Jacek Laskowski http://www.jaceklaskowski.pl Politechnika Poznańska Poznań, 07.12.2007, wersja 1 O mnie... Entuzjasta technologii Java EE 5 Założyciel i lider Warszawa JUG Członek

Bardziej szczegółowo

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów.

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów. Hibernate Każda poważniejsza aplikacja wymaga przechowywania danych w jakiejś bazie danych. Można realizować to na wiele sposobów. Można obsługę bazy danych pisać samodzielnie, do zera, albo skorzystać

Bardziej szczegółowo

Co nowego w Java EE?

Co nowego w Java EE? Co nowego w Java EE? Marek Wojciechowski Politechnika Poznańska e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Najnowsza wersja specyfikacji Java Platform Enterprise Edition wprowadza szereg istotnych

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Co nowego w Java EE?

Co nowego w Java EE? XII Konferencja PLOUG Zakopane Październik 2006 Co nowego w Java EE? Marek Wojciechowski Politechnika Poznańska e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt Najnowsza wersja specyfikacji Java

Bardziej szczegółowo

Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0

Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0 Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0 Marek Wojciechowski Politechnika Poznańska, PLOUG e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Jedną z nowych cech

Bardziej szczegółowo

Programowanie w języku Java WYKŁAD

Programowanie w języku Java WYKŁAD Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 28.04.2014 WYKŁAD 9 Trwałość w Java cz. 2 wykład

Bardziej szczegółowo

Hibernate mapowanie baz danych

Hibernate mapowanie baz danych Hibernate mapowanie baz danych Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. ORM - Object-to-Relational Mapping. Jest odpowiedzią na znikomą ilość

Bardziej szczegółowo

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence. Zaawansowane aplikacje internetowe Laboratorium Java Persistence. Adaptacja rozwiązania dla środowiska NetBeans 7.0.1: Łukasz Przytuła, opracowanie materiałów: Andrzej Dawidowicz Do wykonania ćwiczeń potrzebne

Bardziej szczegółowo

Java Persistence API - zagadnienia zaawansowane

Java Persistence API - zagadnienia zaawansowane Program szkolenia: Java Persistence API - zagadnienia zaawansowane Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Java Persistence API - zagadnienia zaawansowane Java-EE-jpa-pro

Bardziej szczegółowo

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >.

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >. Zaawansowane aplikacje internetowe laboratorium Hibernate. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 6.7.1 (do pobrania z http://www.netbeans.org/downloads/index.html).

Bardziej szczegółowo

JAVA PERSISTENCE API. Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika. Waldemar Korłub

JAVA PERSISTENCE API. Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika. Waldemar Korłub Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika JAVA PERSISTENCE API Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Java Persistence API 2 Specyfikacja dla bibliotek

Bardziej szczegółowo

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Kod szkolenia: Tytuł szkolenia: EJB Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Dni: 3 Opis: Adresaci szkolenia: Szkolenie adresowane jest

Bardziej szczegółowo

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek Enterprise JavaBean EJB 2.x oraz zmiany w standardzie dla EJB 3.0 Michał Stanek Plan prezentacji Czym jest EJB Architektura aplikacji J2EE oraz kontener EJB Typy komponentów JavaBean EJB 1.0, EJB 2.x Wady

Bardziej szczegółowo

Programowanie wielowarstwowe i komponentowe

Programowanie wielowarstwowe i komponentowe Programowanie wielowarstwowe i komponentowe HIBERNATE CD. Rodzaje relacji Jeden do wielu Pojedyncza Osoba ma wiele Wpisów Wiele do jednego Wiele Wpisów należy do jednej Osoby Jeden do jednego Pojedyncza

Bardziej szczegółowo

JPA Java Persistance API

JPA Java Persistance API JPA Java Persistance API Java Persistence API (JPA) Specyfiacja ipisująca standardy mapiwania ibieitiwi-relacyjnegi (ORM ibject relatinal mapping) Przyiładiwe implementacje: Hibernate OpenJPA EclipseLini

Bardziej szczegółowo

Karolina Rusin, Paweł Biczysko, Michał Olejnik. 11 maja 2009

Karolina Rusin, Paweł Biczysko, Michał Olejnik. 11 maja 2009 Konfiguracja i poprawne stosowanie Politechnika Wrocławska Informatyka 11 maja 2009 Agenda Wprowadzenie Konfiguracja i poprawne stosowanie 1 Wprowadzenie do ORM 2 jako framework ORM 3 Konfiguracja w projekcie

Bardziej szczegółowo

JAVA PERSISTENCE API CZĘŚĆ 2 ASPEKTY ZAAWANSOWANE. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

JAVA PERSISTENCE API CZĘŚĆ 2 ASPEKTY ZAAWANSOWANE. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JAVA PERSISTENCE API CZĘŚĆ 2 Waldemar Korłub ASPEKTY ZAAWANSOWANE Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JPA w aplikacji Java EE Połączeniem z bazą danych zarządza serwer aplikacji

Bardziej szczegółowo

Zaawansowane aplikacje internetowe. Architektura Spring. wykład prowadzi Mikołaj Morzy. Architektura Spring

Zaawansowane aplikacje internetowe. Architektura Spring. wykład prowadzi Mikołaj Morzy. Architektura Spring Architektura Spring wykład prowadzi Mikołaj Morzy Architektura Spring 1 Plan wykładu Wprowadzenie Infrastruktura Spring Kontener Inversion of Control / Dependency Injection Programowanie aspektowe Fabryki

Bardziej szczegółowo

Zaawansowane Techniki Bazodanowe

Zaawansowane Techniki Bazodanowe Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Zaawansowane Techniki Bazodanowe Krzysztof Koptyra, Dawid Tomaszewski Raport

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring. Zaawansowane aplikacje internetowe - laboratorium Architektura Spring. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej architekturę Spring. Aplikacja składa się z jednego

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Nowy powiew od Słońca: EJB 3.0. Copyright Piotr Kochański & Erudis,

Nowy powiew od Słońca: EJB 3.0. Copyright Piotr Kochański & Erudis, Nowy powiew od Słońca: EJB 3.0 Wstęp Agenda EJB podstawowe informacje Problemy EJB 1.X i 2.X Zmiany wprowadzone w EJB v. 3.0 uproszczone API nowe komponenty encyjne wzorce i antywzorce Przykład, czyli

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

Hibernate. Od Nowicjusza do Profesjonalisty. Dave Minter Jeff Linwood

Hibernate. Od Nowicjusza do Profesjonalisty. Dave Minter Jeff Linwood Hibernate Od Nowicjusza do Profesjonalisty Dave Minter Jeff Linwood Beginning Hibernate: From Novice to Professional ISBN-13 (pbk): 978-1-59059-693-7 ISBN-10 (pbk): 1-59059-693-5 Original edition Copyright

Bardziej szczegółowo

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

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy

Bardziej szczegółowo

Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013

Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013 Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013 1 Automated code generation To bardziej technika wspomagająca niż wzorzec, ale wykorzystywana w praktyce

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

Tworzenie aplikacji internetowych z wykorzystaniem szkieletu Spring. Paweł Ociepa, Paweł Pierzchała

Tworzenie aplikacji internetowych z wykorzystaniem szkieletu Spring. Paweł Ociepa, Paweł Pierzchała Tworzenie aplikacji internetowych z wykorzystaniem szkieletu Spring Paweł Ociepa, Paweł Pierzchała ociepa.pawel@gmail.com paw.pierzchala@gmail.com 20.05.2010 Cel prezentacji Przedstawić Spring Framework

Bardziej szczegółowo

<bean name="datecontroller" class="controllers.datecontroller" /> package controllers;

<bean name=datecontroller class=controllers.datecontroller /> package controllers; Spring Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej architekturę Spring. Do wykonania ćwiczenia potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE

Bardziej szczegółowo

NHibernate. Narzędzie mapowania obiektowo - relacyjnego

NHibernate. Narzędzie mapowania obiektowo - relacyjnego NHibernate Narzędzie mapowania obiektowo - relacyjnego Autor : Maciej Białorucki Mapowanie obiektowo-relacyjne Mapowanie obiektowo - relacyjne Object Relation Mapping Dwa światy Dlaczego nie stosować baz

Bardziej szczegółowo

Podstawowe informacje o technologii Java Persistence API - przykład

Podstawowe informacje o technologii Java Persistence API - przykład Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 3_2 1 1. Wykonanie kopii programu Sklep_6 2 1. Wykonanie

Bardziej szczegółowo

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Java Persistence. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 5.5 wraz z serwerem Sun Java System Application

Bardziej szczegółowo

Zasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania

Zasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania Zasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania Autor Zofia Kruczkiewicz Wzorce oprogramowania 6 1. Różne

Bardziej szczegółowo

Wzorce logiki dziedziny

Wzorce logiki dziedziny Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski ASP.NET (2) Contexts and Dependency Injection (CDI) Specyfikacja składowa Java EE 6 dotycząca współpracy warstwy prezentacji z

Bardziej szczegółowo

Programowanie komponentowe 5

Programowanie komponentowe 5 Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf

Bardziej szczegółowo

EJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1

EJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1 EJB 3.0 & JBoss Seam 25 kwietnia 2007 Jacek Gerbszt 1 Wyzwania współczesnych aplikacji? Rozproszenie, zdalne wywołania Przetwarzanie transakcyjne Bezpieczeństwo Skalowalność Klastrowanie Łatwe wytwarzanie

Bardziej szczegółowo

Java Server Faces narzędzie do implementacji w wy prezentacji

Java Server Faces narzędzie do implementacji w wy prezentacji Java Server Faces narzędzie do implementacji w wy prezentacji pojęcie komponentu powiązanie z modelem danych widok (View) jako drzewo komponentów obiekty pomocnicze: konwertery, walidatory, obsługa zdarzeń

Bardziej szczegółowo

Zaawansowane Aplikacje Internetowe

Zaawansowane Aplikacje Internetowe Spring framework Katedra Mikroelektroniki i Technik Informatycznych Łódź, 26 października 2010 1 Spring Framework Spring Framework Framework dostarczający między innymi: Kontener IoC (Inversion of Control)

Bardziej szczegółowo

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Hibernate. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 5.5 wraz z serwerem Sun Java System Application Server

Bardziej szczegółowo

Enterprise JavaBeans

Enterprise JavaBeans Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans

Bardziej szczegółowo

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE) Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie

Bardziej szczegółowo

Spring framework. Paweł Kędziora. Marek Lewandowski

Spring framework. Paweł Kędziora. Marek Lewandowski Spring framework Paweł Kędziora Marek Lewandowski Plan prezentacji Motywacje Architektura Spring DAO, dostęp do bazy danych, Web MVC Spring 2.0 Podsumowanie Spring framework 1 Plan prezentacji Motywacje

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

Bardziej szczegółowo

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,

Bardziej szczegółowo

ORM w Javie. Adam Michalik 2007

ORM w Javie. Adam Michalik 2007 ORM w Javie Adam Michalik 2007 ORM ORM O/RM O/R mapping Object-Relational Mapping Mapowanie obiektowo relacyjne Odwzorowanie obiektowo-relacyjne Co to jest ORM? Odwzorowanie obiektowo-relacyjne pozwala

Bardziej szczegółowo

Technologie dostępu do baz danych z aplikacji Javy:

Technologie dostępu do baz danych z aplikacji Javy: Technologie dostępu do baz danych z aplikacji Javy: JDBC (ang. Java DataBase Connectivity - łącze do baz danych w języku Java) - interfejs programowania opracowany w 1996 r. przez Sun Microsystems, umożliwiający

Bardziej szczegółowo

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Repository dodatkowa warstwa abstrakcji na obiektową warstwę dostępu do danych.

Bardziej szczegółowo

Projektowanie aplikacji z bazami danych

Projektowanie aplikacji z bazami danych Systemy mapowania relacyjno-obiektowego Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do trwałości Niedopasowanie paradygmatów Architektura warstwowa Czym jest ORM? Problemy i pytania

Bardziej szczegółowo

EJB 3.0 (Enterprise JavaBeans 3.0)

EJB 3.0 (Enterprise JavaBeans 3.0) EJB 3.0 (Enterprise JavaBeans 3.0) Adrian Dudek Wirtualne Przedsiębiorstwo 2 Wrocław, 1 czerwca 2010 Plan prezentacji 1 Wprowadzenie Cel prezentacji Czym jest EJB 3.0? Historia 2 3 Cel prezentacji Wprowadzenie

Bardziej szczegółowo

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Architektura Trwałość przezroczysta Konfiguracja, konfiguracja mapowania Dziedziczenie klas Kolekcje Asocjacje Cykl życia obiektów Trwałość przechodnia

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

Bardziej szczegółowo

Wielowarstwowe aplikacje internetowe - laboratorium

Wielowarstwowe aplikacje internetowe - laboratorium Wielowarstwowe aplikacje internetowe - laboratorium Java Persistence API (JPA) Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 6.1 wraz z serwerem GlassFish (do

Bardziej szczegółowo

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010 4Developers, 26 marca 2010 Zakres wykładu O czym zamierzam opowiedzieć: Przyspieszenie tworzenia aplikacji Ułatwienie utrzymania aplikacji Budowanie kontraktów pomiędzy developerami a innymi uczestnikami

Bardziej szczegółowo

Gdzie jest moja tabela?

Gdzie jest moja tabela? Gdzie jest moja tabela? Czyli jak sobie radzić w Javie i SQL gdy zmienia się schemat bazy danych. Tomasz Skutnik 21 Listopada 2011 r UWIELBIAM piratów programować. Dziś koduję sklep internetowy. Jak rozmawiać

Bardziej szczegółowo

Java i bazy danych. 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład.

Java i bazy danych. 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład. Java i bazy danych 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład. 1 JDBC - wprowadzenie Java Database Connectivity (JDBC) to specyfkacja określająca zbiór klas i interfejsów

Bardziej szczegółowo

Elementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages.

Elementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages. Elementy JEE 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages. 1 Java Enterprice Edition Java Enterprice Edition (JEE) jest rozszerzeniem Java Standard

Bardziej szczegółowo

Szkolenie wycofane z oferty

Szkolenie wycofane z oferty Szkolenie wycofane z oferty Program szkolenia: Java Server Faces 2 Informacje: Nazwa: Java Server Faces 2 Kod: Java-EE-JSF 2 Kategoria: Java EE Grupa docelowa: developerzy Czas trwania: 3 dni Forma: 50%

Bardziej szczegółowo

Nowoczesne aplikacje internetowe oparte na Spring Framework, JSF, JPA i AJAX

Nowoczesne aplikacje internetowe oparte na Spring Framework, JSF, JPA i AJAX Kod szkolenia: Tytuł szkolenia: SPRING/JSF Nowoczesne aplikacje internetowe oparte na Spring Framework, JSF, JPA i AJAX Dni: 5 Opis: Cel szkolenia: Celem szkolenia jest poznanie zasad budowania aplikacji

Bardziej szczegółowo

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

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 8.1, opracowanie materiału: Piotr Nierebiński, Mateusz Turski (na podstawie materiału oryginalnego

Bardziej szczegółowo

Kurs programowania aplikacji bazodanowych

Kurs programowania aplikacji bazodanowych Wykład 5 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do XPO Podstawowe obiekty Utrwalanie obiektów Transakcje i współbieżność Wzorzec unit of work Odwzorowanie dziedziczenia Asocjacje

Bardziej szczegółowo

mgr inż. Michał Paluch

mgr inż. Michał Paluch Technologie JAVA Java Platform Standard Edition JSE Java Platform Enterprise Edition JEE Java Platform Micro Edition Wersje Różnice Java Enterprise Edition Java EE to platforma umożliwiająca tworzenie

Bardziej szczegółowo

Hibernate. 1. Wprowadzenie. 2. Uruchomienie dostarczonego przykładu. 3. Własny przykład.

Hibernate. 1. Wprowadzenie. 2. Uruchomienie dostarczonego przykładu. 3. Własny przykład. 1 Hibernate 1. Wprowadzenie. 2. Uruchomienie dostarczonego przykładu. 3. Własny przykład. 2 Wprowadzenie Hibernate (http://www.hibernate.org) jest narzędziem realizującym odwzorowanie obiektów Javy na

Bardziej szczegółowo

prepared by: pawel@kasprowski.pl Programowanie WWW Model-View-Controller

prepared by: pawel@kasprowski.pl Programowanie WWW Model-View-Controller Programowanie WWW Model-View-Controller Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt)

Bardziej szczegółowo

Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java

Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java Piotr Błoch, Marek Wojciechowski Politechnika Poznańska e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Zaawansowane

Bardziej szczegółowo

Wzorce dystrybucji i wspólbieżności autonomicznej

Wzorce dystrybucji i wspólbieżności autonomicznej Wzorce dystrybucji i wspólbieżności autonomicznej 1. Wzorce dystrybucji, fasada zdalna (Remote Facade), obiekt transfery danych (Data Transfer Object), 2. Wzorce współbieżności autonomicznej, blokada optymistyczna

Bardziej szczegółowo

Java Persistence API (JPA)

Java Persistence API (JPA) Java Persistence API (JPA) Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 7.0 wraz z serwerem GlassFish v3 (do pobrania z http://www.netbeans.org/) oraz środowisko

Bardziej szczegółowo

Projekt INP Instrukcja 2. Autor Dr inż. Zofia Kruczkiewicz

Projekt INP Instrukcja 2. Autor Dr inż. Zofia Kruczkiewicz Projekt INP002017 Instrukcja 2 Autor Dr inż. Zofia Kruczkiewicz I. Czynności wykonane zgodnie z harmonogramem grupy w tygodniach 1-15 Tabela 2. Przebieg realizacji każdego z projektów (tabela 1) Opis realizacji

Bardziej szczegółowo

Java Persistence API. Class powinny być zaznaczone. Kliknij przycisk Finish.

Java Persistence API. Class powinny być zaznaczone. Kliknij przycisk Finish. Java Persistence API Do wykonania ćwiczeń potrzebne jest środowisko programistyczne NetBeans IDE wraz z serwerem Glassfish V3 (do pobrania z http://www.netbeans.org/downloads/index.html jako Java EE 5

Bardziej szczegółowo

Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2014

Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2014 Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2014 1 Automated code generation To bardziej technika wspomagająca niż wzorzec, ale wykorzystywana w praktyce

Bardziej szczegółowo

Wzorce prezentacji internetowych

Wzorce prezentacji internetowych Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.

Bardziej szczegółowo

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC

Bardziej szczegółowo

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski JSF 1.2 w wykonaniu NetBeans IDE 6.1 Jacek Laskowski http://www.jaceklaskowski.pl Konferencja NetBeans RoadShow Kraków (11.04.2008), Warszawa (12.04.2008) O mnie... Pasjonat Korporacyjnej Javy 5 (Java

Bardziej szczegółowo

1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu

1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu Transakcje 1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu utrwalania. 3. Izolacja typowe problemy,

Bardziej szczegółowo

Relacje. 1. Modelowanie relacji. - siedem rodzajów relacji J2EE. - relacje jedno i wielokierunkowe, - relacje reprezentowane przez kolekcje.

Relacje. 1. Modelowanie relacji. - siedem rodzajów relacji J2EE. - relacje jedno i wielokierunkowe, - relacje reprezentowane przez kolekcje. Relacje 1. Modelowanie relacji. - siedem rodzajów relacji J2EE. - relacje jedno i wielokierunkowe, - relacje reprezentowane przez kolekcje. 1 Relacje Modelowanie pojęć biznesowych wymaga łączenia komponentów

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2012 Plan wykładu Modele danych i bazy danych Modele danych Migracje Bazy danych w Railsach Rusztowania Walidacja modeli Modele danych Definicje

Bardziej szczegółowo

ODWZOROWANIE OBIEKTOWO-RELACYJNE

ODWZOROWANIE OBIEKTOWO-RELACYJNE PODSTAWY BAZ DANYCH Mateusz Wojtaszek Agnieszka Walczak Kamil Lisiecki ODWZOROWANIE OBIEKTOWO-RELACYJNE Co to jest ORM? ORM to skrótowe oznaczenie dla "mapowanie obiektowo-relacyjne" (od angielskiego Object-Relational

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce

Bardziej szczegółowo