Configurazione di base. Dott. Doria Mauro

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Configurazione di base. Dott. Doria Mauro doriamauro@gmail.com"

Transcript

1 Hibernate Configurazione di base Dott. Doria Mauro

2 I file di configurazione Hibernate prevede l uso dei file di configurazione formato XML. I principali file sono: Un file di configurazione unico generale (nome di default: hibernate.cfg.xml) Un file di mapping per ogni classe persistente (nome di default: nomeclasse.hbm.xml) Il file di configurazione generale può anche essere sostituito da un file properties dal nome hibernate.propoeries 2

3 Configurazione di base Il modo migliore per iniziare a lavorare con Hibernate è ottenere un oggetto SessionFactory a partire da un oggetto Configuration. L istruzione tipica è la seguente: SessionFactory sessionfactory = new Configuration().configure().buildSessionFactory(); Quanto il costruttore della classe Configuration è invocato, Hibernate cercherà un file hibernate.properties nella radice del classpath (fuori da tutti i package) e caricherà tutti le proprietà hibernate.* dichiarate all interno del file 3 Quando viene invocato il metodo configure(), Hibernate cercherà il file hibernate.cfg.xml nella radice del classpath.

4 Configurazione di base 4 Nel caso si vogliano collocare il file di configurazione in un altra posizione e/o assegnarli un altro nome, è possibile scrivere: SessionFactory sessionfactory = new Configuration().configure("/persistence/auction.cfg.xml").buildSessionFactory(); Infine, è possibile inserire i dati di configurazione in maniera programmatica come nel seguente esempio: SessionFactory sessionfactory = new Configuration().configure("/persistence/auction.cfg.xml").setProperty(Environment.DEFAULT_SCHEMA, "CAVEATEMPTOR").addResource("auction/CreditCard.hbm.xml").buildSessionFactory(); NOTA : Le priorità sono: properties xml programmatica Le informazioni non si sostituiscono ma si aggiungono Nuova proprietà. Per le proprietà vi sono specifiche costanti

5 SessionFactory Se l applicazione lavora con più DB, è necessario costruire un oggetto SessionFactory per ogni DB. Una applicazione, solitamente, istanzia un oggetto SessionFactory all inizio dell applicazione. Tutti gli oggetti Session utilizzati durante l applicazione sono costruiti da questa unica istanza SessionFactory. Un oggetto SessionFactory, una volta costruito, è thread-safe e va condiviso con il resto dell applicazione. Come fare? 5 La migliore soluzione è costruire un oggetto SessionFactory statico ed una inizializzazione statica.

6 HibernateUtil Nel caso si utilizzi il prodotto in un ambiene stand-alone, Hibernate ci suggerisce di costruire una classe di utilità per la gestione della SessionFactory. Tale classe prende il nome di HibernateUtil. La classe gestisce, di base, la creazione di oggetti SessionFactory e, in una versione estesa, di oggetti Session legandoli al ThreadLocal E possibile reperire il codice sorgente della classe HibernateUtil direttamente dal sito di Hibernate o su internet (nelle diverse varianti) in quanto è un pattern molto noto nell ambiente. 6

7 7 La classe HibernateUtil: package persistence; import org.hibernate.*; import org.hibernate.cfg.*; public class HibernateUtil { private static SessionFactory sessionfactory; static { try { sessionfactory=new Configuration() }.configure().buildsessionfactory(); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); } } public static SessionFactory getsessionfactory() { return sessionfactory; } public static void shutdown() { getsessionfactory().close(); }

8 Il file xml di configurazione 8 Il file di configurazione generale si presenta in questa forma: <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <! Configura connessione e dialetto --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/helloworld</property> <property name="hibernate.connection.username >root</property> <property name="hibernate.dialect">org.hibernate.dialect.mysql5dialect</property> <! Stampa SQL sulla console--> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="use_sql_comments">true</property> <!-- Lista dei file xml di mapping--> <mapping resource="hello/message.hbm.xml"/> </session-factory> </hibernate-configuration>

9 Il file xml di configurazione Base della configurazione sono le informazioni relative al DB: <! Configura connessione e dialetto --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/helloworld</property> <property name="hibernate.connection.username >root</property> <property name="hibernate.connection.password >root</property> <property name="hibernate.dialect">org.hibernate.dialect.mysql5dialect</property> Configurazione del data source dialetto NOTA: il prefisso hibernate nei nomi delle proprietà si può omettere 9 NOTA: Punto fondamentale della configurazione è la scelta del dialetto. Il dialetto è la variante di SQL specifica per un certo DBMS. Hibernate utilizzerà il dialetto per comporre istruzioni SQL specifiche per un certo DBMS e ne ottimizza l uso. La maggior parte dei dialetti è disponibile direttamente nelle librerie di Hibernate.

10 Il file xml di configurazione Punto fondamentale del file di configurazione è l indicazione dei file di mappings. Attraverso queste indicazioni, Hibernate sarà in grado di mappare correttamente le classi persistenti dell applicazione con il database. 10. <!-- Lista dei file xml di mapping--> <mapping resource="hello/message.hbm.xml"/>.

11 Il file xml di configurazione Interessante opzione è la richiesta di visualizzazione delle istruzioni SQL che Hibernate creerà durante il suo utilizzo.... <property name="show_sql">${displaysql}</property> <property name="format_sql">true</property> <property name="use_sql_comments">true</property>... In particolare otterremo a video le istruzioni(parametro show_sql) ben formattate (parametro format_sql) e commentate (parametro use_sql_coments). 11 NOTA: Nel precedente esempio si fa utilizzo di una configurazione dinamica. Il parametro verrà passato in fase di start dell applicazione (lanciando java -displaysql=true).

12 Connection pool Per applicazioni non banali è utile utilizzare un pool di connessioni. Lo scopo di una connection pool sono: Minimizzare l apertura e la chiusura di nuove connessioni. Il pool mantiene e gestisce le connessioni minimizzando i costi queste due operazioni. Alcuni DBMS possono fare operazioni molto complesse in queste fasi. Minimizzare le connessioni sospese, Il pool ottimizza l uso delle connessioni sospese. 12 Gestire le istruzioni preparate (prepared statement) mantenendole in cache oltre le singole richieste: la costruzione delle istruzioni preparate è costosa per i driver.

13 Connection pool senza Hibernate Utilizzo di un pool di connessioni diretto con JDBC (in un ambiente JSE) 13 L applicazione può utilizzare un algoritmo di pooling di terze parti come il software opn source C3P0 Il codice dell applicazione chiede un oggetto connection al pool, lo utilizza per lanciare operazioni SQL con JDBC e poi lo rilascia.

14 Connection pool con Hibernate Utilizzo di un pool di connessioni con Hibernate (in un ambiente JSE) 14 In questo caso, Hibernate fa da client verso il pool di connessioni. L applicazioni utilizza oggetti Session e Query per compiere operazioni di persistenza e oggetti Transaction per gestire le transazioni. NOTA: la connection pool C3P0 sono integrati nel framework. E necessario aggiungere la libreria c3p0.jar nel progetto.

15 Configurare la pool connection E possibile configurare il pool di connessioni nel file di configurazione : <!-- Usa il connection pool provider C3P0 --> <property name="hibernate.c3p0.min_size">5</property> <property name="hibernate.c3p0.max_size">20</property> <property name="hibernate.c3p0.timeout">300</property> <property name="hibernate.c3p0.max_statements">50</property> <property name="hibernate.c3p0.idle_test_period">3000</property> oppure nel file properties: hibernate.c3p0.min_size = 5 hibernate.c3p0.max_size = 20 hibernate.c3p0.timeout = 300 hibernate.c3p0.max_statements = 50 hibernate.c3p0.idle_test_period = NOTA: la soluzione standard senza C3P0 è: <property name="connection.pool_size">1</property>

16 Configurare la pool connection Significato delle proprietà: <!-- Usa il connection pool provider C3P0 --> <property name="hibernate.c3p0.min_size">5</property> <property name="hibernate.c3p0.max_size">20</property> <property name="hibernate.c3p0.timeout">300</property> <property name="hibernate.c3p0.max_statements">50</property> <property name="hibernate.c3p0.idle_test_period">3000</property> 16 min_size: il minimo numero di connessioni che il pool c3p0 mantiene pronte nel pool max_size (obbligatoria): numero di connessioni massimo nel pool timeout: tempo massimo (in secondi) di inattività di un oggetto. Scaduto il tempo l oggetto viene distrutto. max_statements: numero massimo di istruzioni preparate mantenute in cache Idle_test_period: tempo (in secondi) oltre il quale l oggetto viene validato

17 Per saperne di più Per sapere di più sulla soluzione c3p0 è possibile consultare la documentazione: 17

18 Logging Abbiamo già visto come sia possibile ottenere a video le istruzione SQL che Hibernate crea a fronte delle operazioni di persistenza. Questa è una interessante opzione in quanto ci si può rendere conto di quali istruzioni SQL vengono eseguite ma anche quando. Hibernate, allo scopo di ottimizzazione, esegue in maniera asincrona le istruzioni SQL, in una quantità ed ordine diverso da quello che ci si possa aspettare in virtù delle sue caratteristiche avanzate. 18 Per un logging approfondito potrebbe non essere sufficiente mostrare semplicemente le istruzioni SQL.

19 Logging Hibernate fa uso di log4j per il logging. E necessario quindi avere la libreria commons-loggings.jar nel progetto. E possibile inoltre configurare il logging con log4j creando il file di properties log4j.properties. Di seguito un esempio: 19 # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.target=system.out log4j.appender.stdout.layout=org.apache.log4j.patternlayout log4j.appender.stdout.layout.conversionpattern=%d{absolute} %5p %c{1}:%l - %m%n # Root logger option log4j.rootlogger=info, stdout # Hibernate logging options (INFO only shows startup messages) log4j.logger.org.hibernate=info # Log JDBC bind parameter runtime arguments log4j.logger.org.hibernate.type=info

20 Statistiche E possibile abilitare e visualizzare le statistiche in maniera programmatica agendo sulla SessionFactory. Di seguito un esempio: Statistics stats = sessionfactory.getstatistics(); stats.setstatisticsenabled(true); //esempio di metodi per le statistiche stats.getsessionopencount(); stats.logsummary(); EntityStatistics itemstats = stats.getentitystatistics("beans.category"); itemstats.getfetchcount(); Interfaccia per le statistiche globali Interfaccia per le statistiche di una singola classe 20 Le altre interfacce utili per le statistiche sono: CollectionStatistics QueryStatistics SecondLevelCacheStatistics NOTA: è possibile abilitare le statistiche anche nel file di configurazione: hibernate.generate_statistics=true

21 Domande? Logging Statistiche properties xml 21 SessionFactory Hello world Connection Pool C3P0 dialetto

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web L-A A.A. 2014 2015 Esercitazione 08 DAO e Hibernate Agenda Pattern DAO e framework Hibernate progetto d'esempio relativo alla gestione

Dettagli

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com Hibernate Le transazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione La demarcazione delle transazioni può essere fatta: In maniera programmatica: demarcazione all interno del codice applicativo.

Dettagli

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3 Introduzione alle annotation di Hibernate3 a cura di Lucio Benfante Hibernate Hibernate è un framework che realizza un object/relational mapping (ORM) fra oggetti Java e strutture di un database relazionale

Dettagli

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

Dettagli

Guida Introduttiva ad Hibernate

Guida Introduttiva ad Hibernate Guida Introduttiva ad Hibernate di Leonardo Puleggi Indice generale Introduzione...3 Basi...3 Esempi... 5 Operazioni Fondamentali...5 Esempio_01... 7 Esempio_02... 10 Esempio_03... 12 Esempio_04... 14

Dettagli

Porting Su Hostingjava

Porting Su Hostingjava Porting Su Hostingjava Consigli per il caricamento di una propria applicazione su hostingjava Il porting è una operazione con cui un programma, sviluppato originariamente per una piattaforma, viene"ritoccato"

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

Spring WS Sviluppare WebService in Java

Spring WS Sviluppare WebService in Java Spring WS Sviluppare WebService in Java 1.1 Introduzione Nell ambito della programmazione Java è particolarmente utile avere una certa familiarità con i WebService e la tecnologia che li supporta. In particolare

Dettagli

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages 1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages Le JSP DynPages sono un utile strumento, fornito da SAP Netweaver, per una gestione più evoluta di event handling e session

Dettagli

PROCEDURA DI INSTALLAZIONE E CONFIGURAZIONE LIFERAY 6.2

PROCEDURA DI INSTALLAZIONE E CONFIGURAZIONE LIFERAY 6.2 PROCEDURA DI INSTALLAZIONE E CONFIGURAZIONE LIFERAY 6.2 Manuale Utente Mancini Marco 2014 3F Consulting S.r.l. Pag. 1 di 17 Autore Approvato da Mancini Marco Firma 14/08/2014 Firma Versione Data Descrizione

Dettagli

Esercitazione 4 JDBC

Esercitazione 4 JDBC JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione

Dettagli

Corso Online. We Train Italy info@wetrainitaly.it

Corso Online. We Train Italy info@wetrainitaly.it Corso Online Programmatore Java New Edition We Train Italy info@wetrainitaly.it Programma Generale del Corso Programmatore Java New Edition 1. Introduzione al corso Java da 0 al web Presentazione del corso

Dettagli

Programmazione Java Avanzata Spring - JDBC

Programmazione Java Avanzata Spring - JDBC Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008

Dettagli

Java: la libreria delle classi

Java: la libreria delle classi Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare

Dettagli

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA-SPF-1.0 Versione del 18.04.2001 SOMMARIO 1 INTRODUZIONE

Dettagli

PHI-RE. Configurazione infrastrutturale SOA. Version 1.0 Marzo, 2011. Page 1 of 17

PHI-RE. Configurazione infrastrutturale SOA. Version 1.0 Marzo, 2011. Page 1 of 17 PHI-RE Configurazione infrastrutturale SOA Version 1.0 Marzo, 2011 Page 1 of 17 Versione Marzo 2011 Marzo 2011 Descrizione della variazione Versione iniziale Inserimento capitoli descrizione script installativi

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Manuale d uso della libreria Volta Log

Manuale d uso della libreria Volta Log Manuale d uso della libreria Volta Log www.satellitevolta.com 1 www.satellitevolta.com 2 [Rif.01] Pacchetto di distribuzione di Volta Log (volta-log-x.y.z.* scaricabile da http://sourceforge.net/projects/voltalog/files/?source=navbar)

Dettagli

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: ADO.NET versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array... Prefazione...xiii A chi si rivolge il libro... xiv Struttura e contenuti del libro... xiv Dove trovare aiuto... xvii Le newsletter di SitePoint... xviii I vostri commenti... xviii Convenzioni adottate

Dettagli

JDBC. A. Bechini 2004. Accesso a DataD con Java

JDBC. A. Bechini 2004. Accesso a DataD con Java JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Dettagli

esempio hello world Dott. Doria Mauro

esempio hello world Dott. Doria Mauro Hibernate esempio hello world Dott. Doria Mauro doriamauro@gmail.com Presentiamo un primo esempio che consente di gestire un messaggio di testo. Lo scopo è quello di storare il messaggio hello world sul

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

Installazione Alfresco Avanzata

Installazione Alfresco Avanzata QBR Novembre 2011 Installazione Alfresco Avanzata www.qbreng.it I Passi da compiere Installare Java SE Development Kit (JDK) 6.0 (http://it.sun.com/) Installare Database - RDBMS Open Source MySQL (http://dev.mysql.com/downloads)

Dettagli

Scheda 15 Accedere ai DataBase con JDBC

Scheda 15 Accedere ai DataBase con JDBC Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate

Dettagli

Gestione Manutenzioni Immobiliari. http://www.snt-fi.it

Gestione Manutenzioni Immobiliari. http://www.snt-fi.it Gestione Manutenzioni Immobiliari http://www.snt-fi.it Gestione Manutenzioni Immobiliari Software sviluppato da S&NT in tecnologia Microsoft.NET, dedicato agli amministratori di condominio per la gestione

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

JDBC. Dispense per il corso di Ingegneria del Web

JDBC. Dispense per il corso di Ingegneria del Web JDBC Dispense per il corso di Ingegneria del Web Revisione 05/11 Giuseppe Della Penna (giuseppe.dellapenna@di.univaq.it) Dipartimento di Informatica Università degli studi dell'aquila Java Database Connectivity:

Dettagli

Accesso Web a Data Base

Accesso Web a Data Base Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Accesso Web a Data Base Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei -

Dettagli

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

Introduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com

Introduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro doriamauro@gmail.com La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Servers Activatable. Massimo Merro Programmazione di Rete 166 / 193

Servers Activatable. Massimo Merro Programmazione di Rete 166 / 193 Servers Activatable Nelle lezioni precedenti abbiamo detto che una referenza remota ad un server di tipo UnicastRemoteObject rimane valida finchè il server è in esecuzione. Quando il server termina, o

Dettagli

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern Organizzazione della lezione 15. Java Remote Method Invocation (3) Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Il design pattern

Dettagli

Appunti di Informatica www.mimmocorrado.it 1

Appunti di Informatica www.mimmocorrado.it 1 Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il

Dettagli

DBORED - Oracle Report Developer 10g: Costruire Report (5 gg)

DBORED - Oracle Report Developer 10g: Costruire Report (5 gg) DBORED - Oracle Report Developer 10g: Costruire Report (5 gg) OBIETTIVO: I partecipanti alla fine del corso saranno in grado di: Aggiungere dati dinamici a una pagina HTML Usare parametri del report e

Dettagli

Esercitazione su JDBC

Esercitazione su JDBC Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come

Dettagli

MANUALE DI INSTALLAZIONE

MANUALE DI INSTALLAZIONE Progetto di Ingegneria del Software 2 SWIM v2 MANUALE DI INSTALLAZIONE Team: Professori: Christian Miranti (matr. 787042 ajbest@hotmail.it) Raffaella Mirandola Davide Falco (matr. 786899 davide.falco22@gmail.com)

Dettagli

1.7.x template, stili e layout predefiniti s.bellandi@prismanet.com

1.7.x template, stili e layout predefiniti s.bellandi@prismanet.com Stefano Bellandi 1.7.x template, stili e layout predefiniti s.bellandi@prismanet.com L intervento ha una durata di circa 45 minuti dove affronteremo alla velocità della luce: introduzione ai template joomla1.7

Dettagli

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java - Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Librerie fondamentali Ing. Giuseppe D'Aquì Testi Consigliati Eclipse in Action (David Gallardo, Ed Burnette and Robert McGovern), Manning (2003) JUnit Cookbook [http://junit.sourceforge.net/doc/cookbook/cookbook.htm]

Dettagli

Tutorial MYSQL. Creazione linked server con Microsoft SQL Server per lettura dati da MYSQL. Validità: Febbraio 2013

Tutorial MYSQL. Creazione linked server con Microsoft SQL Server per lettura dati da MYSQL. Validità: Febbraio 2013 Tutorial MYSQL Creazione linked server con Microsoft SQL Server per lettura dati da MYSQL Validità: Febbraio 2013 Questa pubblicazione è puramente informativa. SISECO non offre alcuna garanzia, esplicita

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito LEZIONE 3 Il pannello di amministrazione di Drupal, configurazione del sito Figura 12 pannello di controllo di Drupal il back-end Come già descritto nella lezione precedente il pannello di amministrazione

Dettagli

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali

Dettagli

ADO.Net. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

ADO.Net. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni ADO.Net Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Applicazioni Three Tier In ingegneria del software, l'espressione architettura three-tier ("a tre strati") indica

Dettagli

Supporto On Line Allegato FAQ

Supporto On Line Allegato FAQ Supporto On Line Allegato FAQ FAQ n.ro MAN-88NE8321850 Data ultima modifica 22/04/2011 Prodotto Tutti Modulo Tutti Oggetto Installazione di una nuova istanza di Sql Server Express 2008 R2 Prerequisiti

Dettagli

Progetto: Servizio location based per la ricerca di punti di interesse

Progetto: Servizio location based per la ricerca di punti di interesse Mauro Gentile Matr. 701870 Progetto: Servizio location based per la ricerca di punti di interesse Il progetto consiste nello sviluppo di un servizio che fornisce informazioni relative a punti di interesse

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

Introduzione all uso di Eclipse

Introduzione all uso di Eclipse Introduzione all uso di Eclipse Daniela Micucci Programmazione Outline Eclipse: concetti generali Definire un workspace Creare un project Importare un file Utilizzo 1 Introduzione Eclipse è un ambiente

Dettagli

S.I.I.P.A.L. Sistema Informativo Integrato Pubblica Amministrazione Locale

S.I.I.P.A.L. Sistema Informativo Integrato Pubblica Amministrazione Locale S.I.I.P.A.L. Sistema Informativo Integrato Pubblica Amministrazione Locale SPECIFICHE DI RILASCIO AGGIORNAMENTO PRODOTTI PATCHELETT100908 (database ver. 264) Pagina 1 di 9 S.I.I.P.A.L. Sistema Informativo

Dettagli

Creazione e gestione di indagini con Limesurvey. Sito online: www.limesurvey.org/en/

Creazione e gestione di indagini con Limesurvey. Sito online: www.limesurvey.org/en/ Creazione e gestione di indagini con Limesurvey Sito online: www.limesurvey.org/en/ Cos è Limesurvey? Il Software Limesurvey è un'applicazione open source che consente ai ricercatori (o a chiunque voglia

Dettagli

Installazione MS SQL Express e utilizzo con progetti PHMI

Installazione MS SQL Express e utilizzo con progetti PHMI Installazione MS SQL Express e utilizzo con progetti PHMI Introduzione La nota descrive l utilizzo del database Microsoft SQL Express 2008 in combinazione con progetti Premium HMI per sistemi Win32/64

Dettagli

Introduzione a Classi e Oggetti

Introduzione a Classi e Oggetti Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

PSG Table Builder Manuale Utente. PSG TABLE BUILDER Manuale Utente

PSG Table Builder Manuale Utente. PSG TABLE BUILDER Manuale Utente PSG TABLE BUILDER Manuale Utente Paragrafo-Pagina di Pagine 1-1 di 9 Versione 2 del 13/02/2012 SOMMARIO 1 A Chi è destinato... 1-3 2 Pre requisiti... 2-3 3 Obiettivi... 3-3 4 Durata della formazione...

Dettagli

Scrivere un programma in Java

Scrivere un programma in Java Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

Programmi Java e server AS400 (IBM i)

Programmi Java e server AS400 (IBM i) Programmi Java e server AS400 (IBM i) Franco Lombardo lombardo@molteniinformatica.com Molteni Informatica - Lecco 1 IBM Developer Kit for Java Driver JDBC locale Classe com.ibm.db2.jdbc.app.db2driver URL

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

CORSO DI PROGRAMMAZIONE JAVA

CORSO DI PROGRAMMAZIONE JAVA CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi

Dettagli

Implementazione. 2.1 Template grafico

Implementazione. 2.1 Template grafico Implementazione 1 Introduzione Questo docunento spiega sinteticamente i punti principali che caratterizzano la realizzazione dell applicazione. Le informazioni che riguardano più da vicino il codice sono

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

Introduzione a Hibernate

Introduzione a Hibernate Introduzione a Hibernate Versione preliminare Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Riferimenti

Dettagli

Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete)

Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete) Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Client versione 14.2 con licenza di rete. Questo documento è stato

Dettagli

JUG Ancona Italy Spring Framework

JUG Ancona Italy Spring Framework JUG Ancona Italy Spring Framework Andrea Del Bene Jug Marche Spring: perché e nato e perché lo voglio imparare? Quando si decide di investire in un nuova tecnologia è indispensabile capire il valore aggiunto

Dettagli

Manuale gestione Porta di Dominio OpenSPCoop 1.1

Manuale gestione Porta di Dominio OpenSPCoop 1.1 i Manuale gestione Porta di Dominio ii Copyright 2005-2008 Link.it srl Questo documento contiene informazioni di proprietà riservata, protette da copyright. Tutti i diritti sono riservati. Non è permesso

Dettagli

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

Introduzione... 2. Un software per l automazione di procedure statistiche su dati Pet... 2. Il Pre-Processing... 7. La fase di statistica...

Introduzione... 2. Un software per l automazione di procedure statistiche su dati Pet... 2. Il Pre-Processing... 7. La fase di statistica... Indice Introduzione... 2 Un software per l automazione di procedure statistiche su dati Pet... 2 Il Pre-Processing... 7 La fase di statistica... 12 Algoritmo di classificazione... 13 L interfaccia... 15

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

Progetto Finale: Progettazione di un database e di una applicazione

Progetto Finale: Progettazione di un database e di una applicazione Progetto Finale: Progettazione di un database e di una applicazione Roberto Basili Corso di Basi Di Dati a.a. 2002-2003 Norme Generali Il progetto fa parte della valutazione gobale del corso e la data

Dettagli

Configurazione modalità autenticazione utenti sui firewall D-Link Serie NetDefend (DFL-200, DFL-700, DFL-1100)

Configurazione modalità autenticazione utenti sui firewall D-Link Serie NetDefend (DFL-200, DFL-700, DFL-1100) Configurazione modalità autenticazione utenti sui firewall D-Link Serie NetDefend (DFL-200, DFL-700, DFL-1100) Pagina 1 di 10 Per abilitare la modalità di autenticazione degli utenti occorre, prima di

Dettagli

AOP Static Code Programming

AOP Static Code Programming AOP Static Code Programming I concetti dell' Aspect Oriented Programming sono sempre stati spunto di tante nuove idee che ho proposto alla web community, questa volta ripropongo una variante in termini

Dettagli

AXWIN6 QUICK INSTALL v.3.0

AXWIN6 QUICK INSTALL v.3.0 AXWIN6 QUICK INSTALL v.3.0 Procedura per l installazione di AxWin6 AxWin6 è un software basato su database Microsoft SQL Server 2008 R2. Il software è composto da AxCom: motore di comunicazione AxWin6

Dettagli

Portal e Portlet ClassLoader. Mancini Marco

Portal e Portlet ClassLoader. Mancini Marco Portal e Portlet ClassLoader Mancini Marco Project Manager, 3F Consulting s.r.l. Classloading in liferay Tre differenti classpath: Global classpath, tutte le librerie presenti nella nostra JVM, e nelle

Dettagli

Prova d Esame 07.04.2006 Compito B

Prova d Esame 07.04.2006 Compito B DOMANDA 1 (6 punti) Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { public static String s1 = "ciao"; protected int n; public General() { n = 3; public

Dettagli

Introduzione ad Eclipse

Introduzione ad Eclipse Introduzione ad Eclipse Corso di Metodi Avanzati di Programmazione 2014-2015 Docente: Dr. Annalisa Appice Tutor di Laboratorio: dott. Roberto Corizzo Ambiente Eclipse Sommario Java: ambiente Eclipse L

Dettagli

Guida all amministrazione VPH Webmin/Virtualmin

Guida all amministrazione VPH Webmin/Virtualmin Il Valore Aggiunto di Internet Guida all amministrazione VPH Webmin/Virtualmin L ambiente di amministrazione 2 La gestione dei Server 3 a. Virtual Servers 4 b. Server Settings and Templates 5 c. Virtualmin

Dettagli

ISTRUZIONI INSTALLAZIONE PMANGO

ISTRUZIONI INSTALLAZIONE PMANGO ISTRUZIONI INSTALLAZIONE PMANGO Software necessario: PMango richiede un Web server funzionante con PHP e MySQL e un Web browser. Web server: Apache almeno alla versione 2.0.52 (www.apache.org) PHP: consigliata

Dettagli

FidelJob gestione Card di fidelizzazione

FidelJob gestione Card di fidelizzazione FidelJob gestione Card di fidelizzazione Software di gestione card con credito in Punti o in Euro ad incremento o a decremento, con funzioni di ricarica Card o scala credito da Card. Versione archivio

Dettagli

Progetto di Ingegneria del Software 2. SWIMv2

Progetto di Ingegneria del Software 2. SWIMv2 Progetto di Ingegneria del Software 2 2012/2013 SWIMv2 Guida di installazione Docente: Prof. Luca Mottola Davide Brambilla Antonio Caputo Paolo Caputo 1 Introduzione La piattaforma è stata sviluppata come

Dettagli

Corso BusinessObjects SUPERVISOR

Corso BusinessObjects SUPERVISOR Corso BusinessObjects SUPERVISOR Il modulo SUPERVISOR permette di: impostare e gestire un ambiente protetto per prodotti Business Objects distribuire le informazioni che tutti gli utenti dovranno condividere

Dettagli