Alkalmazásfejlesztés gyakorlat

Slides:



Advertisements
Hasonló előadás
1 Bori Tamás Operációs Rendszerek I. 2. óra: parancssori alapok.
Advertisements

© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Operációs Rendszerek I.
Operációs Rendszerek I.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
PL/SQL folytatás Kurzorok Alprogramok Tárolt eljárások ADATBÁZIS ALAPÚ RENDSZEREK.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Vállalati adatok megnyitása a külvilág felé
Az MVC tervezési minta 2. előadás.
SZÖVEGSZERKESZTÉS Boríték készítése.
Adatbázis alapú rendszerek
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
megismerése, mintaadatbázis létrehozása
Öröklődés 2..
Bevezetés a Java programozásba
Fájlkezelés, IO Kivételkezelés Belső osztályok
Útmutató Java telepítéséhez windows 7-re
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 7. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Ember László Damn Small Linux Microsoft VPC környezetben.
Adatbáziskezelés az MSAccess programmal Makány György 2. rész: Adattáblák létrehozása külső adatforrásból.
A Java programozási nyelvSoós Sándor 1/20 Java programozási nyelv 11. rész – Adatbázis-programozás Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
6. előadás: PHP-MySQL Barabás Péter
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Felhasználók és jogosultságok
APEX BMF, II. félév.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
A gyakorlatok munkakörnyezete
Programozás III UNIT TEST. És tényleg: Honnan lehet tudni, hogy működik-e vagy sem?
Supervizor By Potter’s team SWENG 1Szarka Gábor & Tóth Gergely Béla.
HF MINTA 2012/2013. ősz. HF Minta  Objektum-orientált program  „Adatvezérelt” alkalmazás írása  Fájl kezelés (olvasás, írás)  Menü készítése  5-6.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Apache Ant 2. gyakorlat Alkalmazásfejlesztés /2 Gyakorlat Zalatnai Csongor.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
WEBSTAR CSOPORT WC S ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE Marics Tamás június 20.
Számítógépes adatbázis-kezelés
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Microstation 7 adatbázis kezelés. Működése (Oracle, XBase)  Oracle  XBase MS Oracle DB MS MS SQL Interpreter DB SQL.
Access adatbáziskezelés
Programozás III JPA.
Adatbázisok 1. SQL (alkérdések). Az IN használata Emlékezzünk vissza: Az IN után szereplő multihalmaz elemei lekérdezéssel is megadhatók SELECT nev FROM.
Készítette: Rummel Szabolcs Elérhet ő ség: Linux kezelése.
SAP Riportok, táblák, programok. Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék SAP Logon !FRISS! Megnevezés: GUI Applikációs szerver:
Lekérdezések Adott tulajdonságú adatok listázásának módja a lekérdezés. A lekérdezések segítségével az adatbázisból megjeleníthetjük, módosíthatjuk, törölhetjük.
PHP függvények MySQL adatbázisok kezelésére
Alkalmazásfejlesztés gyakorlat
Alkalmazásfejlesztés gyakorlat
Neumann János Informatikai Kar
Riportok, táblák, programok
Alkalmazásfejlesztés gyakorlat
Adatbázis használat a webszervernél
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
A CLIPS keretrendszer
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Útmutató Java telepítéséhez windows 7-re
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Előadás másolata:

Alkalmazásfejlesztés gyakorlat Java GUI - DB

JDBC osztálykönyvtár (java.sql csomag) Oracle Driver MSSQL Driver PostgreSQL Driver SQLite Driver Oracle DB Sqlite fájl MSSQL Postgres Application

JDBC Főbb osztályok java.sql.Connection – adatbázis-kapcsolat reprezentálására java.sql.Statement – egyszerű SQL-utasításokhoz java.sql.PreparedStatement – paraméteres SQL-lekérdezésekhez optimalizálva: Nem a teljes lekérdezés szövege változik, hanem csak egyes paramétereké Az egyszer már kiértékelt lekérdezést nem kell újra kiértékelni, csak a paramétereket kell megváltoztatni Véd SQL injection ellen

JDBC Főbb osztályok Lezárás java.sql.ResultSet – lekérdezések eredményeinek bejárására: Egyszerre mindig egy sort tudunk elérni getString(), getInt(), getDate(), stb. metódusok – aktuális sor adott mezőjét adják vissza next() metódus lépteti Lezárás JDBC objektumokat le kell zárni (close) finally-ben, mindegyiket külön try-catch-ben

SQLite adatbázis http://www.sqlite.org/ Hordozható, szerver indítása nélkül használható Hiányosságok: http://www.sqlite.org/omitted.html Egyik SQL megvalósítás sem követi a szabványt Előnyökkel is rendelkezik: http://sqlite.org/speed.html sqlite3 parancssori eszköz, sqlite3 shell .read filename – parancsok végrehajtása fájlból .tables – táblák listázása .schema tablename – tábla sémája .exit – kilépés .help – Help

bookshop.db Inicializáljuk az adatbázist! cmd cd kulso\db sqlite3 bookshop.db Ha már létezik a fájl/adatbázis akkor azt megnyitja Ha nem létrehoz egy üres fájlt/adatbázist Hozzuk létre a táblákat .read bookshop.ddl Kérdezzük le milyen táblák léteznek .tables Kérdezzük le a Customer tábla sémáját! .schema Customer A shellt hagyjuk meg későbbi használatra

07-java-GUI-DB Készítsük el az alkalmazás disztribúcióját! cmd env.bat cd feladat\07-java-GUI-DB ant cd dist run.bat (MEGVÁLTOZOTT!!! és a Manifest is) Lépjünk ki, majd indítsuk újra A felvett Customerek adatai megmaradnak Nem memóriában, hanem adatbázisban tárolódtak el

07-java-GUI-DB Eclipse Lásd: 01-02_kiegeszites alatti doc file A futtatáshoz a ‚BookShopDB” környezeti változó megfelelő beállítása kell Futtatási konfiguráció Environment fül Új környezeti változó beállítása

07-java-GUI-DB Nézzük át a megváltozott forrásokat! BookShopController – getCustomers metódus Összeköti a GUIban a Customerek listázását a DAOval BookShopDAO Teljes osztály megváltozott, olvassuk át a megjegyzéseket!

07-java-GUI-DB Debuggoljuk a BookShopDAOTest.java-t TestAddAndListCustomers metódus: TestCustomer nevű Customereket veszünk fel Majd a lekérdezzük őket Futassuk le többször a debugot Közben figyeljük az adatbázis tartalmát a korábban nyitott SQLite shellben SELECT * FROM Customers; Figyelem: Sikeres teszthez új futtatás előtt törölni kell az adatbázist a UNIQUE constraint miatt

07-java-GUI-DB Debuggoljuk a BookShopDAOTest.java-t TestAddCustomerWithSameName metódus A DAOImpl hibát jelez a futás során De az nem valódi hiba, a DAO művelet sikertelen, de ezt is várjuk el tőle (azonos nevű customer nem rögzíthető)

Feladat Book/Buy Book funkcionalitás Adatbázisban rögzítsük az új könyveket Implementáljuk a könyv tárolást BookShopDAOImpl.addBook metódus implementálása Induljunk ki az addCustomer metódusból Könyv tárolás tesztelése BookShopDAOImpl-be vegyünk fel egy testBuyBook metódust! Hívjuk ezt is a mainből! Induljunk ki a testAddCustomer metódusból! Teszteljük az új metódust! (lásd: előző dia)

Feladat/Házi Az előző órai házi feladatban elkészített GUI-ra kössük rá a Controller-en keresztül az adatbázist Book/Buy Book (előző feladattal megvan) Book/List Books Ezt tegyük meg a Sell alatti funkciókra is!

Házi feladat Tranzakció Mi a tranzakció négy követelménye? Írjunk egy olyan metódust, amivel egyszerre több Customert tudunk az adatbázishoz hozzáadni, de fontos, hogy vagy mindet hozzáadjuk, vagy egyet se! Alkalmazzunk tranzakció kezelést! Lásd: tutorial zipben a basics/transactions.html)

Házi feladat JDBC tranzakció try { conn.setAutoCommit(false) conn.setTransactionIsolation(…) … conn.commit(); } catch(Exception e) { conn.rollback(); }

Házi feladat JDBC tranzakció Próbáljuk ki tranzakcióval és anélkül a metódust! Figyeljük az adatbázis tartalmát debuggolás közben: Ha tranzakcióval dolgozunk, akkor csak a conn.commit-kor jelenik meg az összes Customer. Ha anélkül, akkor minden egyes executeUpdate hívás után!