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



Hasonló dokumentumok
Adatbázisok webalkalmazásokban

JavaServer Pages (JSP) (folytatás)


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

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

JDBC - adatbáziskezelés

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

A WEB programozása - JSP1 dr.gál Tibor őszi félév

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

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {

Java Database Connectivity (JDBC)

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

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.

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

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

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

Programozási technológia

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

Kliens oldali SQL-API

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

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Vizuális programozás gyakorlat

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

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

SZAKDOLGOZAT. Vígh Gábor DEBRECEN 2009.

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva

MySQL kontra MongoDB programozás. SQL és NoSQL megközelítés egy konkrét példán keresztül

Database Systems II. ZH összefoglaló

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Ja J v a a v a há h l á óz ó a z t a i al a ka k l a maz ma á z s á o s k o Socket, URL

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

Elemi alkalmazások fejlesztése IV.

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Java Programozás 3. Gy: Java GUI. Swing, AWT

ANDROID ALKALMAZÁSFEJLESZTÉS

JNDI - alapok. Java Naming and Directory Interface

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Hello, EJB! Egy egyszerű példa

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

Java Programozás 11. Ea: MVC modell

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

Az új be- és kimenet könyvtár

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

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

PHP-MySQL. Adatbázisok gyakorlat

Feladatok cím szerint

Access adatbázis elérése OLE DB-n keresztül

Adatbázis használata PHP-ből

Adatbázis-kezelés ODBC driverrel

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

JAVA PROGRAMOZÁS 8.ELŐADÁS

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

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

Adatbázisok gyakorlat

Adatbázis rendszerek. Gyakorlati jegyzet. Készítette: Selling István

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

ÁLTALÁNOSAN LEÍRVA: KONKRÉTAN AZ INSOMNIA ESETÉBEN:

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

Java és web programozás

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Java és web programozás

Segédanyag: Java alkalmazások gyakorlat

OOP és UML Áttekintés

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

Segédanyag: Java alkalmazások gyakorlat

Programozás és adatbázis kezelés PHP ben

Webszolgáltatások készítése.net alapokon -

Segédanyag: Java alkalmazások gyakorlat

Stateless Session Bean

Java és web programozás

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben

2. gyakorlat: Tartományvezérlő, DNS, tartományba léptetés, ODJ, Core változat konfigurálása, RODC

Overview. Service. Application Activity Activity 2 Activity 3. Fragment. Fragment. Fragment. Frag ment. Fragment. Broadcast Receiver

JAVA SE/ME tanfolyam tematika

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Kivételkezelés, naplózás. Exception handling, logging

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

Az SQL*Plus használata

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

Programozási nyelvek Java

Adatbázis. AMP! (Apache + MySql + PHP) XAMPP, LAMP, MAMP, WAMP et cetera

Adatbázis Rendszerek II. 8. Gyakorló környezet

1. Feladat: Lista mysql BANK UGYFEL

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

JEE tutorial. Zsíros Levente, 2012

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL

Adatbázis kezelő alkalmazás

Átírás:

Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz. I. A Java DB adatbázis-kezelő rendszer Java DB: a SUN cég Apache Derby disztribúciója teljes egészében Java nyelven íródott 1. Adatbázis létrehozása [Netbeans 6.0] Tools menüpont ----> Java DB Database ----> Create Database [Netbeans 6.1, 6.5, 6.7] Runtime window (felület bal felső sarkában levő ablak: Projects, Files, Services... ) ---> Services --->Databases ---> JavaDB jobb egérkattintás és Create Database Database Name: studentdb User Name: public Password: public Database location: hagyjuk meg az alapértelmezettet 2. Adattábla létrehozása a.runtime window ---> Services ---> Databases b. Adatbazis-nevre (jdbc:derby://localhost:1527/studentdb) jobb klikk és Connect c. Adatbazis-nevre (jdbc:derby://localhost:1527/studentdb) jobb klikk és Execute Command Ennek hatására megjelenik egy SQL parancsablak. d. CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL ) 3. Adattábla feltöltése INSERT INTO student (name, address) values ('John Smith','Windows street 3');

II. Java alkalmazás készítése adatbázisok elérése Készítsen egy konzolos Java alkalmazást, amely egy adatbázis egy adott adattáblájával a következő műveleteket képes végezni: a tábla tartalmának lekérdezése és megjelenítése új rekord hozzáadása az adattáblához a tábla adott kulcsú elemének a lekérdezése Használja fel a következő adatbázis-kapcsolat osztályt: import java.sql.*; import javax.sql.*; import java.util.*; public class StudentDAO{ public static final String DRIVER = "org.apache.derby.jdbc.clientdriver"; public static final String URL = "jdbc:derby://localhost:1527/studentdb"; public static final String USERNAME ="public"; public static final String PASSWORD ="public"; public static final String GETALLDATA ="select * from student"; public static final String INSERTDATA = "insert into student (name, address) values (?,?)"; private String driver; private String url; private String username; private String password; private Connection con; public StudentDAO(){ driver =DRIVER; url = URL; username = USERNAME; password = PASSWORD; public StudentDAO( String driver, String url, String username, String password){ this.driver = driver; this.url = url; this.username = username; this.password = password;

public void connect(){ //Driver betoltese Class.forName( driver ); //Kapcsolat megteremtese con = DriverManager.getConnection(url,userName, password); catch ( SQLException e1 ){ System.out.println( "Hiba a kapcsolat megteremtesenel: "+url); catch( ClassNotFoundException e2 ){ System.out.println( "Hiba a driver betoltesenel: "+driver); public void disconnect(){ con.close(); catch( SQLException e){ System.out.println("Kapcsolat lezarasi hiba"); public List<String> getstudents(){ Statement stmt = null; ResultSet rs = null; connect(); if( con == null ) return null; List<String> list = new ArrayList<String>(); stmt = con.createstatement(); rs = stmt.executequery(getalldata); while( rs.next()){ int id = rs.getint("id"); String name = rs.getstring("name"); String address = rs.getstring("address"); StringBuffer str = new StringBuffer(); str.append( ""+id ); str.append("; "); str.append( name ); str.append("; "); str.append( address ); str.append("; "); list.add(str.tostring()); catch (SQLException se) { se.printstacktrace(); finally { if(rs!= null) { try { stmt.close(); catch (Exception e) { e.printstacktrace(); if(stmt!= null) { try { stmt.close(); catch (Exception e) { e.printstacktrace();

disconnect(); return list; public boolean insertstudent( String name, String address ) { PreparedStatement stmt = null; int res = 0; connect(); if( con == null ) return false; try { stmt = con.preparestatement(insertdata); stmt.setstring(1, name); stmt.setstring(2, address); res = stmt.executeupdate(); catch (SQLException e) { System.out.println("SQL insert error - " + e); return false; finally { if(stmt!= null) { try { stmt.close(); catch (Exception e) { e.printstacktrace(); disconnect(); return res == 1; III. Grafikus felület készítése Készítsen egy új Java Desktop Application (Database Application) típusú projektet. Rendelje hozzá a studentdb adatbázis student adattábláját. Nem kell kódot írni, a Netbeans előállítja. Tanulmányozza a kódot, és próbálja ki az alkalmazást.

IV. Készítsen két Java alkalmazást: egy kliens-, illetve egy szerveralkalmazást. A szerver legyen párhuzamos architektúrájú és a kliensek számára biztosítsa a fenti három adatbázisműveletet. http://www.ms.sapientia.ro/~manyi/teaching/oop/oop_romanian/curs9/curs9.html Szerver rész: Main.java main metódus Server.java: -felelősségek: szolgáltatás indítása egy adott porton: start() kapcsolat felépítése az ügyféllel: service() szolgáltatás leállítása: stop() StudentDAO.java ClientHandle.java -felelősségek: ügyfél kiszolgálását végző szál osztály -saját TableAccess példányt hoz létre minden klienshez (ezt később másképpen végezzük!!!) //Szolgáltatás indítása ServerSocket ss; ss = new ServerSocket(port); catch(exception e){ System.out.println("Server error: could'nt create Socket:\n"+e); System.exit(1); System.out.println("Service running on "+ss.getinetaddress()+ " at port "+ss.getlocalport()); //Ügyfelek fogadása, ügyfél kiszolgáló szál indítása Socket s= null; while( isrunning ){ s = ss.accept(); catch(exception e){ System.out.println("Connection has been accepted from: " +s.getinetaddress().gethostaddress()); ClientHandle ch = new ClientHandle( s ); ch.start();