Skip to content
nablaone edited this page Jun 26, 2012 · 17 revisions

Gdzie jest moja tabela?

Czyli jak OneWeb SQL przyspiesza programowanie przy wciąż zmieniającym się schemacie bazy danych

Część 0: czego potrzebujemy

Zainstaluj na swoim komputerze następujące programy.

  1. Java 1.6 lub wyższa. Ustaw zmienną JAVA_HOME odpowiednio.
  2. PowerDesigner 16. Wersję ewaluacyjną można pobrać ze strony http://response.sybase.com/forms/PDV16-EA
  3. Eclipse (http://www.eclipse.org/downloads/)
  4. PostgreSQL 9.1 (http://www.enterprisedb.com/products-services-training/pgdownload). Razem z PostgreSQL instaluje się program pgAdmin. Jako locale wybierz ’Polish’.
  5. Tomcat 7.0 (http://tomcat.apache.org/download-70.cgi)
  6. OneWebSQL PD2Java 1.0.0 (http://OneWebSQL.com/download)

W instrukcjach dla użytkowników używamy następujących skrótów.

  • <PROJECT> – główny katalog aplikacji demo
  • <ONEWEBSQL HOME> – katalog, w którym jest zainstalowany OneWebSQL
  • <TOMCAT HOME> – katalog, w którym jest zainstalowany serwer Tomcat

Część 1: uruchomienie aplikacji

  1. Rozpakuj plik ZIP z aplikacją demo.
  2. Skonfiguruj projekt. Utwórz nowy projekt w Eclipse’ie File > New > Java Project ... i podaj lokalizację źródeł.new project Sprawdź, że katalogi src, generated-sources są folderami źródłowymi (Source Folders). Załóż katalog WEB-INF\classes i ustaw go jako folder docelowy (Output Folder).
  3. Skopiuj plik <ONEWEBSQL HOME>\onewebsql-runtime-1.0.0.jar do katalogu <PROJECT>\WEB-INF\lib. Skopiowany plik dodaj do Build Path.
  4. Do Build Path dodaj ścieżkę do pliku <TOMCAT HOME>\lib\servlet-api.jar.
  5. Przygotuj bazę danych. Uruchom program pgAdmin (został zainstalowany razem z PostgreSQL-em). Uruchom konsolę SQL.
  6. Stwórz użytkownika ’onewebsql’ z hasłem ’onewebsql’. create user onewebsql password ’onewebsql’;
  7. W ten sam sposób załóż bazę ’onewebsql’. create database onewebsql owner onewebsql;
  8. Połącz się z bazą danych jako użytkownik onewebsql.
  9. Uruchom skrypt zakładający tabele (<PROJECT>\database\create-schema.sql), wstaw dane początkowe (skrypt <PROJECT>\database\initial-data.sql).
  10. Skonfiguruj serwer Tomcat.
  11. kopiuj plik <PROJECT>\lib\postgresql-9.1-902.jdbc3.jar do <TOMCAT HOME>\lib.
  12. Do katalogu <TOMCAT HOME>\conf\Catalina\localhost skopiuj plik <PROJECT>\META-INF\context.xml. Zmień jego nazwę na onewebsql.xml.
  13. W pliku onewebsql.xml w atrybucie docBase podaj ścieżkę do projektu w Eclipse’ie.
  14. Uruchom serwer Tomcat: plik <TOMCAT HOME>\bin\startup.bat.
  15. W przeglądarce otwórz stronę http://localhost:8080/onewebsql.

Część 2: wprowadzenie

Będziemy pracować w prostej aplikacji WWW. Uruchom program PowerDesigner i otwórz plik <PROJECT>\database\Bookshop.pdm. Plik zawiera początkowy schemat bazy danych.

Dla każdej tabeli OneWebSQL generuje 3 pliki Javy:

  1. prostego beana reprezentującego wiersze tabeli,
  2. interfejs DAO, dający dostęp do tabeli,
  3. implementację DAO.

Jak to w życiu bywa, schemat bazy danych będzie się zmieniał. Dlatego każde ćwiczenie rozwiązuj w osobnej metodzie. Wtedy zobaczysz, w jaki sposób OneWebSQL pomaga poprawić kod aplikacji po zmianie schematu bazy danych.

Generowanie kodu

Użyjemy OneWebSQL-a w wersji standalone (jest też plugin do Maven 2). W Eclipse’ie wybierz Run > External Tools > External Tools Configurations... Utwórz nową konfigurację typu Program.

  1. Podaj javę jako program do uruchomienia.
  2. Jako katalog uruchomienia podaj swój projekt w Eclipse’ie.
  3. Podaj argumenty generatora:-jar <ONEWEBSQL_HOME>\onewebsql-pd2java-1.0.0.jar -classpath <ONEWEBSQL_HOME>\onewebsql-runtime-1.0.0.jar -model_sets database\Bookshop.pdm -java_output_dir generated-sources -java_default_package com.onewebsql.demo.or -dictionaries_dir database
  4. Zapisz konfigurację pod nazwą OneWebSQL. Uruchom generację.
  5. Odśwież projekt w Eclipse’ie.

Część 3: podstawowe API

Część 4: obiektowy język zapytań

Część 5: zmiany, zmiany, zmiany

Część 6: złączenia tabel

Część 7: zaawansowane zapytania

Część 8: edycja danych

Część 9: słowniki

Clone this wiki locally