Seminár z programovania v sieťach
JDBC a MySQL
PHP
- Vytvor inštanicu "Connection" objektu pre spojenie s databázou
- Vytvor inštanicu "Statement" objektu pod objektom "Connection"
- Vykonaj SQL dopyt pomocou oboch objektov
- Spracuj výsledok dopytu
- Uzatvor spojenie - uvoľnenie zdrojov

- Jednoduché JDBC
- SELECT
- UPDATE
- INSERT
- DELETE
Hibernate ORM
Idiomatic persistence for Java and relational databases.Hibernate framowork poskytuje mapovanie z Java tried na databázové tabuľky a späť(Java dátových typov na SQL dátové typy) a tiež umožňuje vykonávanie dopytov a spracovávanie výsledkov.

Klady a zápory JDBC
- Čisté a jednoduché spracovanie SQL
- Dobý výkon pri veľkých dátach
- Veľmi dobré pre menšie aplikácie
- Jednoduché na používanie
- Zložité pri použití vo veľkých projektoch
- Veľká programátorská záťaž
- Ťažké implementovanie MVC konceptu
- Dopyty sú závyslé na použitej databáze
Klady Hibernate
- Stará sa o mapovanie Java tried na databázové tabuľky pomocou XML, bez potreby písať čo i len riadok kódu
- Obsahuje jednoduché API na ukladanie a čítanie objektov do a z databázy
- Pri zmene v databáze nie je potrebné prepisovať zdrojový kód, stačí pozmeniť XML
- Minimalizuje prístup do databázy vďaka "smart fetching strategies"
- Inštalácia Hibernate
- Konfigurácia Hibernate
- Entita Book
- Hibernate mapper pre entitu Book
- Jednoduchá aplikácia
- Anotovaná entita Book2
- Mapovanie Collections?
<!-- MySQL database driver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.9</version> </dependency> <!-- Hibernate framework --> <dependency> <groupId>hibernate</groupId> <artifactId>hibernate3</artifactId> <version>5.2.4.Final</version> </dependency> <!-- Hibernate library dependecy start --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2</version> </dependency> <!-- Hibernate library dependecy end --> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version> </dependency>
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> </session-factory> </hibernate-configuration>
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> </hibernate-mapping>
PHP je server-side-scripting jazyk, ktorý je schopný pracovať s databázami či spravoavť sessions.
Je v ňom integrovaná komunikácia s prakticky všetkými bežne používanými databázovými systémami vrátane MySQL, PostgreSQL, Oracle, Sybase, Informix a Microsoft SQL Server.
Podporuje tiež väčšinu najpoužívanejších protokolov ako POP3, IMAP a LDAP.
PHP sa okrem iného používa na manipuláciu so súbormi (čítanie, zápis, vytváranie, mazanie).
Dokáže spracovávať formuláre a získané informácie uložiť do súboru/databázy, vrátiť výsledok spracovanie používateľovi či odoslať ich emailom.
Cookies.
Podporuje šifrovanie.
<html> <head> <title>Hello World</title> </head> <body> <?php echo "Hello, World!";?> </body> </html>
<script language="PHP">...</script>ASP tags
<%...%>Short-open tags
<?...?>Canonical PHP tags
<?php...?>
$int_var = 12345; $double_var = 2.2888800; $bool_var = TRUE; #FALSE; $str_var = "Tried and true" $array_var[49] = "An array element"; define("CONST50", 50); #echo CONST50;
if (condition) code to be executed if condition is true; elseif (condition) code to be executed if condition is true; else code to be executed if condition is false;
switch (expression){ case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: code to be executed if expression is different from both label1 and label2; }
$a = 0; for( $i = 0; $i<5; $i++ ) { $a += 10; }
$i = 0; $num = 50; while( $i < 10) { $num--; }
$_GET | Pole obsahujúce premenné posunuté aktuálnemu skriptu cez HTTP GET |
$_POST | Pole obsahujúce premenné posunuté aktuálnemu skriptu cez HTTP POST |
$_FILES | Pole objektov posunuté aktuálnemu skriptu cez HTTP POST |
$_COOKIE | Cookies |
$_REQUEST | Pole obsahujúce premenné $_GET, $_POST a $_COOKIE |
$_SESSION | Dostupné premenné danej relácie |