Adatbázisok webalkalmazásokban



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

JDBC - adatbáziskezelés


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

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

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

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

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

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

JavaServer Pages (JSP) (folytatás)

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

Programozási technológia

JAVA PROGRAMOZÁS 8.ELŐADÁS

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

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.

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

Java Database Connectivity (JDBC)

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

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

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

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

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

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

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

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

Database Systems II. ZH összefoglaló

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

SZAKDOLGOZAT. Szabó Attila

SZAKDOLGOZAT. Vígh Gábor DEBRECEN 2009.

Java és web programozás

Kliens oldali SQL-API

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

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

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

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

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

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

ANDROID ALKALMAZÁSFEJLESZTÉS

JNDI - alapok. Java Naming and Directory Interface

MDAC - Microsoft Data Access Components

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

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

Adatbázis használata PHP-ből

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

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

Hello, EJB! Egy egyszerű példa

Adatbázis-kezelés ODBC driverrel

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

Vizuális programozás gyakorlat

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

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

Adatbázisok* tulajdonságai

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

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Programozási nyelvek Java

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

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

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

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

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

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

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.

Informatikai Navigátor

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

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

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Haladó DBMS ismeretek 1

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

Adatbázisok gyakorlat

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

JEE tutorial. Zsíros Levente, 2012

Adatbázis rendszerek SQL nyomkövetés

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Stateless Session Bean

SQL DDL-2 (aktív elemek) triggerek

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

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

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

Az SQL adatbázisnyelv: DML

Modern unit és integrációs tesztelés

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

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Elemi alkalmazások fejlesztése IV.

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Adatbázis használat I. 5. gyakorlat

Adatbázis-kezelés. Harmadik előadás

Java technológiák - ANTAL Margit. komponensek. A HTTP protokoll. Webkonténerek és szervletek. Egyszerű HTTP. ANTAL Margit.

Adatbázis tartalmának módosítása

Adatbázis-kezelés ODBC-vel

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Bevezetés: az SQL-be

Webfejlesztés 4. alkalom

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE

Extrémen brutál, gyors talpaló PHP nyelvhez (database). v2.1

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

Spatial a gyakorlatban

Átírás:

Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010

A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource

JDBC architektúra

A JDBC API java.sql -adatbázisok eléréséhez szükséges alapvető osztályokat tartalmazza javax.sql -haladó szintű osztályokat tartalmaz (pl. DataSource) Osztályozás adatbázis-kapcsolat megteremtését segítő típusok SQL utasítások végrehajtását segítő típusok SQL lekérdezések eredményeinek feldolgozását segítő típusok

JDBC API, alapvető osztályok

JDBC meghajtóprogramok Példák Derby (Java DB): derbyclient.jar MySql : mysql-connector-java-5.1.7-bin.jar

JDBC adatbáziskezelés 1 adatbázis-meghajtó betöltése (driver regisztráció) 2 adatbázis-kapcsolat kiépítése 3 egy SQL művelet végrehajtásához szükséges Statement példány létrehozása: Statement PreparedStatement CallableStatement 4 SQL eredmények feldolgozása 5 Kapcsolat lezárása

1. Adatbázis-meghajtó betöltése Driverek Derby: Class.forName("org.apache.derby.jdbc.ClientDriver"); MySql: Class.forName("com.mysql.jdbc.Driver");

2. Adatbázis-kapcsolat kiépítése Szintaxis jdbc:<alprotokoll>:<adatbázis hivatkozás> Derby adatbázis URL: jdbc:derby://localhost:1527//distedu MySql adatbázis URL: jdbc:mysql://localhost:3306/distedu String url = "jdbc:derby://localhost:1527//distedu"; Connection con = DriverManager.getConnection( url,"username","password");

3. Statement példány létrehozása Statement stat = con.createstatement();

4. SQL eredmények feldolgozása Szintaxis: ResultSet executequery( String sql ) int executeupdate( String sql ) executequery: SELECT executeupdate: UPDATE, DELETE, CREATE TABLE, DROP TABLE

A ResultSet objektum Kurzor mozgató műveletek next(): a következő rekordra lép previous(): az előző rekordra lép last(): az utolsó rekordra lép first(): az első rekordra lép

Adattábla CREATE TABLE course ( id int NOT NULL GENERATED ALWAYS AS IDENTITY, name varchar(100) NOT NULL, description varchar(200) NOT NULL, price double NOT NULL )

Példa lekérdezésre try{ Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * from course"); while( rs.next() ){ System.out.println( "ID: "+rs.getint(1)+ "NAME: "+rs.getstring(2)+ "DESCRIPTION: "+rs.getstring(3)+ "PRICE: "+rs.getdouble(4) ); } } catch (Exception e) { e.printstacktrace(); }

Példa adatmanipulációra try{ Statement stmt = con.createstatement(); int n = stmt.executeupdate( "insert into course (name, description, price) values ( Java SE, Java Standard Edition, 1000)"); //Ha n erteke 1, akkor sikeres volt a beszuras } catch (Exception e) { e.printstacktrace(); }

A Data Access Object tervezési minta

A CourseDAO osztály public class CourseDAO { private String driver; private String url; private String username; private String password; private Connection con; public CourseDAO(){... } public void connect(){...} public void disconnect(){...} public List<Course> getallcourses(){...} } public boolean insertcourse(course c) {

Connection Pool

Adatforrás - DataSource

Adatbázis-kapcsolat DataSource komponenssel Glassfish DataSource datasource = null; Context ctx = new InitialContext(); if( ctx == null ) throw new RuntimeException ("JNDI Context coluld not be found"); datasource = DataSource) ctx.lookup("jdbc/disteduds"); Connection con = null; con = datasource.getconnection();

Adatbázis-kapcsolat DataSource komponenssel Tomcat 6.0 DataSource datasource = null; Context initctx = new InitialContext(); Context envctx = (Context) initctx.lookup("java:comp/env"); datasource = (DataSource) envctx.lookup("jdbc/disteduds"); Connection con = null; con = datasource.getconnection();

Távoktatás alkalmazás Feladatok: 177. oldal 1 Az ApplicationListener osztály törlése 2 Adatbázis létrehozása 3 A Course adattábla feltöltése 4 A model.course osztály módosítása 5 A CourseDAO modell osztály létrehozása 6 A list courses.jsp lap módosítása 7 Az AddCourse szervlet módosítása 8 Tanfolyamok törlése: delete course.jsp (űrlap) és a DeleteCourse szervlet (URL: delete course.do)