Java programozási nyelv 11. rész Adatbázis-programozás



Hasonló dokumentumok

Adatbázisok webalkalmazásokban

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

JAVA PROGRAMOZÁS 8.ELŐADÁS

Java Programozás 10. Ea: JDBC. SQLite alapokon

A Java nyelv. VI. Adatbázis-kezelés Javaban, Példaprogram Az elôzô részben láthattuk, hogy a Java ideális programozási nyelv perszisztens objektumok

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC

JDBC Adatbáziskapcsolat objektumok SQL parancsok küldése Kötegelt módosítások ResultSet Tranzakciók

MDAC - Microsoft Data Access Components

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Database Systems II. ZH összefoglaló

Java Database Connectivity (JDBC)

Programozási technológia

Kapcsolat objektumok. Válasz feldolgozása Tranzakciók DAO tervezési minta

B I T M A N B I v: T M A N

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

SZAKDOLGOZAT. Szabó Attila

JDBC Adatbáziskapcsolat objektumok SQL parancsok küldése Kötegelt módosítások ResultSet Tranzakciók DAO tervezési minta 1 / 45

JDBC. A JDBC alkalmazása

PHP-MySQL. Adatbázisok gyakorlat

Adatbáziskezelés Delphi 5 alatt. Bese Antal

B I T M A N B I v: T M A N

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

A könyv tartalomjegyzéke

Adatbázis kezelés Delphiben. SQL lekérdezések

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

Témák. JDBC Adatbázisok JDBC használatának lépései Tranzakciók Adatbázis tervezés EK diagram

Adatbázis rendszerek 7. előadás State of the art

JDBC - adatbáziskezelés

Adatbázis kezelő alkalmazás

PRECÍZ Információs füzetek

Adatbázisok gyakorlat

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

A.NET keretrendszer (.NET Framework) három alapvetõ összetevõbõl áll:

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

B IT MAN 43/1 B IT MAN. Adatbázis Rendszerek II. Ellenőrző kérdések JDBC. v:

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

AdoDB a gyakorlatban

C++ programozási nyelv

Java és web programozás

Kliens oldali SQL-API

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

C++ programozási nyelv

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

LogoScope. Józsué könyvének térinformatikai feldolgozása Grafikus konkordancia

Microsoft SQL Server telepítése

C++ programozási nyelv Konstruktorok-destruktorok

Készítette: Szabóné Nacsa Rozália

Oralce kliens installálása Windows Server 2003-ra

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

A FileZilla program beállítása az első belépés alkalmával

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

LBRA6i integrált rendszer

JAVA webes alkalmazások

2 Access 2016 zsebkönyv

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

Telepítési útmutató. 1.1 lépés : Telepítés típusa - ablak :

Adatbázis-kezelés ODBC driverrel

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Internetkonfigurációs követelmények. A számítógép konfigurálása. Beállítások Windows XP alatt

Komponensek együttműködése web-alkalmazás környezetben. Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT

A számítógépes feladatok a várt megoldáshoz egyértelmű utalásokat tartalmazzanak.

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

BaBér bérügyviteli rendszer telepítési segédlete év

Webes alkalmazások fejlesztése

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

Java és web programozás

Labor leletező program

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Az ABAP fejlesztői környezet. Az SAP programozása 1. Tarcsi Ádám

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Választó lekérdezés létrehozása

INFORMATIKAI ALAPISMERETEK

Playlist.hu Kiadói kézikönyv

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

ASP és Java Servlet technológia összehasonlítása

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Már megismert fogalmak áttekintése

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Adatba ziskezeles. Java tutorial JDBC. JDBC: Java Data Base Connectivity. Pelda: bro ker ceg. Rela cio s adatba ziskezeles - attekintes

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Az operációs rendszer. Az operációs rendszer feladatai, részei, fajtái Az operációs rendszer beállítása

Adatbázis, adatbázis-kezelő

JavaServer Pages (JSP) (folytatás)

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Elemi alkalmazások fejlesztése IV.

Átírás:

Java programozási nyelv 11. rész Adatbázis-programozás Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20

Tartalomjegyzék Adatbázis programozás Java-ban JDBC Két- és háromrétegű adatbázis-elérési modell JDBC-ODBC kapcsolat Adatbázis URL Hibakezelés SQL utasítások végrehajtása Az SQL utasítás eredményének feldolgozása Az SQL kurzor mozgatása Az aktuális sor feldolgozása Adatforrás definiálása A Java programozási nyelv Soós Sándor 2/20

Adatbázis programozás Javaban A JDBC fogalma: programozói interface (API) SQL (Structured Query Language) utasítások végrehajtására bár a JDBC önálló márkanév, mégis szokás Java DataBase Connectivity-nek is nevezni (Java Adatbázis Összeköttetés) Mit jelent az API? Application Programming Interface Alkalmazás Programozási Interfész Programozók számára készített eszközkészlet, könyvtár valamilyen feladatot megoldó programok készítésére Pl. Windows API A Java programozási nyelv Soós Sándor 3/20

JDBC A JDBC API szolgáltatásai Összekapcsolódás a relációs adatbázissal SQL utasítások végrehajtása SQL lekérdezések eredményeinek feldolgozása A JDBC két szintje: JDBC alap (Core) API: java.sql csomag az adatbázisok eléréséhez szükséges alapvető osztályok JDBC standard kiterjesztés (Extension) API: javax.sql további haladó szintű osztályok, pl. Java Tranzakció API (JTA) A JDBC alkalmazásával a programjaink nemcsak platformfüggetlenek, hanem adatbáziskezelő függetlenek is lehetnek. A Java programozási nyelv Soós Sándor 4/20

Két- és háromrétegű adatbázis-elérési modell Kétrétegű modell: Java program Adatbázis Háromrétegű modell: Java program Szolgáltató réteg Adatbázis A két, illetve három réteg 1, 2, vagy akár 3 gépen is elhelyezkedhet. A Java mindkét megoldást támogatja. Akár a Szolgáltató réteg is megírható Java-ban. A Java programozási nyelv Soós Sándor 5/20

JDBC meghajtó programok (Driver) A JDBC API és a különböző adatbáziskezelő programok közötti kommunikációt a különböző meghajtó programok biztosítják. Ezeket külön-külön megírják az adatbáziskezelő programok készítői. A szükséges meghajtót, vagy meghajtókat regisztráljuk a JDBC alá, ettől kezdve a programunk képes kommunikálni az adott adatbáziskezelővel. A Java programozási nyelv Soós Sándor 6/20

JDBC-ODBC kapcsolat ODBC Open Database Connectivity A legelterjedtebb adatbázis-hozzáférési API platformfüggő a Windows 2000 és XP is támogatja nem objektumorientált A JDBC-hez létezik ODBC meghajtó, aminek segítségével használható minden ODBC meghajtóval rendelkező adatbázis. a driver neve: sun.jdbc.odbc.jdbcodbcdriver ezt fogjuk regisztrálni. A Java programozási nyelv Soós Sándor 7/20

Kapcsolattartás az adatbázissal A program és az adatbázis közötti kapcsolatot a Connection osztály reprezentálja. Egy program több adatbázissal is kapcsolatot tarthat egy időben. Ehhez egy-egy példányt kell létrehoznunk a Connection osztályból. Egy Connection típusú objektum a kiadott SQL utasításokat és azok eredményeit tartalmazza. A Java programozási nyelv Soós Sándor 8/20

Adatbázis URL Az elérni kívánt adatbázist az Internetről ismert URL technikával adjuk meg. Az URL tartalmazza: a használandó protokollt az adatbázis azonosítóját esetleges további paramétereket, pl. login név, jelszó Egy ODBC adatforrás eléréséhez a következő URLt használjuk: jdbc:odbc:<odbc adatforrás neve> Például: jdbc:odbc:cimek A Java programozási nyelv Soós Sándor 9/20

Kapcsolat felvétel az adatbázissal Betöltjük, vagy a DriverManager-rel betöltetjük a szükséges adatbázis meghajtót. A DriverManager-től "elkérjük" a kívánt adatkapcsolatot megadva neki az adatbázis URL-t. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:cimek","login név","jelszó" ); A Java programozási nyelv Soós Sándor 10/20

Hibakezelés Ha adatbáziskezelés során valamilyen hiba lép fel, akkor egy SQLException kerül kiváltásra. A hiba szövegét a getmessage metódussal kaphatjuk meg. A Java programozási nyelv Soós Sándor 11/20

SQL utasítások végrehajtása Erre szolgál a Statement interface. A fennálló kapcsolatot reprezentáló Connection objektum createstatement metódusával létrehozunk egy utasítás objektumot. Ezzel még nem határoztuk meg a végrehajtandó SQL utasítást. Ezt három metódussal tehetjük meg: executequery: Eredménytáblát visszaadó utasítások futtatására (SELECT) executeupdate: adatmanipulációs (INSERT, UPDATE, DELETE) és adatdefiníciós (CREATE/DROP TABLE) utasítások futtatására execute: mindkét típus végrehajtására alkalmas A Java programozási nyelv Soós Sándor 12/20

Az SQL utasítás eredményének feldolgozása Egy SQL utasításnak többféle eredménye lehet, ezért nem lehet egyszerűen a metódus által visszaadott értékben visszaadni. A Statement különböző metódusai segítenek: getupdatecount(): a megváltozott sorok száma. Ezt adja vissza az ExecuteUpdate metódus is. getresultset(): az eredménytábla. Ezt adja vissza az ExecuteQuery metódus is. getmoreresults(): a következő eredménykomponens feldolgozása Nézzük meg a DBResult.java fájlt! A Java programozási nyelv Soós Sándor 13/20

Az eredménytábla feldolgozása Egy SQL lekérdezés eredménye mindig egy eredménytábla (ResultSet) objektum. Az eredménytábla méretét nem lehet előre meghatározni, ezért pufferelve kapjuk meg. A pufferből is egyszerre egy sort látunk, erre mutat az SQL kurzor. Kezdetben az első sor elé mutat az SQL kurzor. Az SQL kurzor mozgatására különböző lehetőségeink vannak. A Java programozási nyelv Soós Sándor 14/20

Az SQL kurzor mozgatása next(): a következő sorra lép. Hamisat ad vissza, ha nincs több sor previous(): az előző sorra lép. Hamisat ad vissza, ha nincs több sor last(): az utolsó sorra lép. Hamisat ad vissza, ha üres az eredménytábla first(): az első sorra lép. Hamisat ad vissza, ha üres volt az eredménytábla afterlast(): az utolsó sor utánra lép beforefirst(): az első sor elé lép absolute(): az adott sorszámú sorra lép. Ha negatív a szám, akkor hátulról számol. relative(): relatívan mozgatja a kurzort Az eredménytábla típusa befolyásolja, hogy mely léptetések használhatók. A sorok számozása 1-el kezdődik! A Java programozási nyelv Soós Sándor 15/20

Az aktuális sor feldolgozása Az aktuális sor adatainak lekérdezése: getmetadata() Ez a metódus visszaad egy ResultSetMetaData interface-t. Ennek metódusai adják vissza a különböző jellemzőket. Lásd a dokumentációban! Például a getcolumncount() adja meg az oszlopok számát. Az egyes adatmezőket gettípus() formájú metódusokkal lehet lekérdezni paraméterként megadva az oszlop sorszámát. Az oszlopokat 1-től számozzuk. Például: getstring(1), getint(3), stb. A Java programozási nyelv Soós Sándor 16/20

Az aktuális sor módosítása Módosítható eredménytábla esetén updatetípus() formájú metódusokkal lehet módosítani a mezők tartalmát. Ezután az updaterow() metódussal kell véglegesíteni a módosításokat. A deleterow() metódussal lehet törölni az aktuális sort A Java programozási nyelv Soós Sándor 17/20

Új sor beszúrása Új sor beszúrása a beszúrási puffer segítségével lehetséges. A movetoinsertrow() metódussal érhetjük el a beszúrási puffert. Ezután az előbbi updatetípus() metódusokkal lehet beállítani a mezőket, majd az insertrow() metódussal véglegesítjük a beszúrást. A movetocurrentrow() metódussal térhetünk vissza a beszúrás előtti aktuális sorra, vagy valamelyik abszolút léptető utasítással bármelyikre. A Java programozási nyelv Soós Sándor 18/20

Adatforrás definiálása Adatforrás létrehozása Windows 2000-ben: Vezérlőpult Felügyeleti eszközök Adatforrások (ODBC) Add (Hozzáadás) Microsoft Access Driver (*.mdb) Befejezés gomb Adatforrás neve: xy Kiválasztás gomb Speciális gomb Felhasználónév Jelszó OK gomb A Java programozási nyelv Soós Sándor 19/20

Példa Nézzük meg a DBTanulok.java fájlt! A Java programozási nyelv Soós Sándor 20/20