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 |