Esempio di architettura software

Documenti analoghi
Testing delle classi. MySQL DBMS

Esercitazione su JDBC

Laboratorio di reti II: Gestione di database lato server

JDBC versione base. Le classi/interfacce principali di JDBC

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

JDBC di base. Le classi/interfacce principali di JDBC

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

JDBC. A. Bechini Accesso a DataD con Java

PROVA FINALE Ingegneria del software

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Tecnologia e Applicazioni Internet 2011/12

Accesso ad un db con JDBC da java

JDBC per l accesso Java a DB. Tito Flagella tito@link.it

Introduzione. 8- Programmazione di una base di dati attraverso JDBC ESEMPIO

JDBC Driver Manager. JDBC Architettura generale. JDBC - Tipi di dato. JDBC - Flusso applicativo. JDBC - Tipi di dato. ODBC Driver. Livello di gestione

Introduzione JDBC interfaccia java.sql driver caricare i driver

Indice. Java. JDBC è l interfaccia di base standard di Java ai database relaionali

Caricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement

Corso di Informatica Modulo T3 B2 - Database in rete

DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Ingegneria del Software 1: Eclipse

Interfaccia JDBC. Sistemi Informativi L-A. Home Page del corso: Versione elettronica: JDBC.

Scheda 15 Accedere ai DataBase con JDBC

Come trattare il risultato di un comando SQL (relazioni) che

Programmazione Java Avanzata

Telematica II 5. Esercitazione/Laboratorio 1

Dominio applicativo. Progettazione. v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures

Lezione 9. Applicazioni tradizionali

2011 Politecnico di Torino 1

CORSI DI FORMAZIONE MYSQL BASIC E ADVANCED

Accesso a Database con JDBC

JAVA JDBC. Andrea BEI

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Programmazione Java Avanzata Spring - JDBC

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2014/2015

The ultimate guide of: Mac OS X Snow Leopard, Informix, PHP 5.3 & PDO

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Programmazione Java: JDBC

Basi di Dati: Corso di laboratorio

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

JDBC. Dispense per il corso di Ingegneria del Web

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A

DATABASE PER IL WEB. Programmazione Web 1

Java: la libreria delle classi

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

Sistemi Informativi T

Ambienti di Sviluppo

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

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Programmazione Android

SQL e applicazioni. Capitolo 8. SQL e linguaggi di programmazione. Applicazioni ed SQL: architettura. Una difficoltà importante.

JDBC Un API JAVA per accedere a Basi di Dati Relazionali. Contenuti. Cos è JDBC? Introduzione a JDBC. Perché JDBC. Inside JDBC.

Corso Programmazione Java Standard

Verso l architettura MVC-2 PHP: Hypertext Preprocessor

Progetto di Ingegneria del Software 2. SWIMv2

JDBC Matteo Magnani, Danilo Montesi Università di Bologna. Dati relazionali e JAVA: API JDBC

ASP e Database. A cura di Michele Cavalieri

Le JavaServer Pages - Lezione 6 L accesso ai Database

JDBC: Java e database.

Setup Tomcat. Installare Java SDK * ( ad es. in c:\programmi\j2sdk1.4.2_08

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

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server.

Tutorial base su Eclipse. Jug Marche. Relatore: Andrea Del Bene. 03/03/2010 1

Lab 01 Introduzione a Codelite

CORSO DI PROGRAMMAZIONE JAVA

Esercitazione: Il DBMS MySQL

JDBC: SQL NEI LINGUAGGI DI PROGRAMMAZIONE

Esempio di database relazionale con l utilizzo del prodotto MySQL

SQL Injection The dark side of webapplication *** Siamo davvero certi che chi gestisce i nostri dati sensibili lo faccia in modo sicuro?

Installazione e configurazione di Java DB in Windows (7)

Strumenti per lo sviluppo del software

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

Java il Corso Fondamentale

MySQL Command Line Client: operazioni fondamentali

SQL nei linguaggi di programmazione

Impostazione ambiente di lavoro. Stefano Marchetti

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Peripheral Interface Controller PIC MCU Families (Microchip)

Transcript:

Esempio di architettura software Corso di Principi di Progettazione del Software, a.a. 2012/13 29 novembre 2016 Ing. Roberto Vergallo 1 Esempio di architettura software View (GUI) Action Listener Business Manager Model Data Access Objects Db Interface DB 1

Introduzione all uso dell IDE Eclipse per lo sviluppo di applicazioni in linguaggio Java Corso di Principi di Progettazione del Software, a.a. 2016/17 29 novembre 2016 Ing. Roberto Vergallo 1 Agenda Cosa vedremo in questa lezione: Introduzione alla piattaforma Eclipse Qualche curiosità su Eclipse Interfaccia dell ambiente di sviluppo Creazione di un nuovo progetto 2 1

Agenda Per questa lezione necessiteremo di Eclipse IDE for Java Developers Neon : http://www.eclipse.org/ Casi d esempio: EclipseTutorials: http://eclipsetutorials.sourceforge.net/ Attenzione, il materiale è per Eclipse 3.3! 3 INTRODUZIONE ALLA PIATTAFORMA ECLIPSE 4 2

È un IDE Introduzione alla piattaforma Eclipse È scritto in Java Deriva da VisualAge di IBM È Free ed Open Source (licenziato sotto EPL) È una piattaforma a componenti (tutto è un plug-in!) Diversi package tra cui scegliere in fase di download (Java, Java EE, C/C++, RCP Development, Ruby, ) È multilinguaggio Centinaia di plug-in disponibili (http://marketplace.eclipse.org/) Ambiente standard de facto per lo sviluppo in Java, esistono vari pacchetti commerciali basati sulla personalizzazione della piattaforma Eclipse 5 Introduzione alla piattaforma Eclipse (cont.) Uno sguardo all interfaccia utente di Eclipse: Perspective Editors Views Manipolazione dell interfaccia grafica (spostamento, massimizzazione, minimizzazione delle views) Creazione di un nuovo progetto Java 6 3

Introduzione alla piattaforma Eclipse (cont.) Vediamo le features di Eclipse per la scrittura di codice: Aggiungere una classe Generazione di metodi get/set Generazione di metodi per overriding Menù Source e Refactor Ctrl + Spazio Avviare il progetto Deploy come JAR (Java ARchive) 7 DEBUGGING DI CODICE JAVA IN ECLIPSE 8 4

Debugging di codice Java in Eclipse Il debugger è uno strumento vitale per uno sviluppatore perché: Permette di risparmiare tempo nel trovare errori nella logica Consente di tracciare l evoluzione di un programma Consente di capire come funziona del codice non scritto da noi 9 Debugging di codice Java in Eclipse (cont.) Proviamo alcune funzionalità del debugger di Eclipse: La perspective Debug, le viste Breakpoints e Variables Inserimento di un breakpoint Lo stack frame I vari Step, come fermare il debug Variabili: il programma lavora sotto i nostri occhi Oltre le variabili, le Watch Expressions (abilitare in Show Views) ad es. sue.getname() Java Exception Breakpoint, come fermarsi su una particolare eccezione Sostituzione del codice a caldo e cambiamento del valore di una variabile Breakpoint condizionali ed hit counts 10 5

JDBC Corso di Principi di Progettazione del Software, a.a. 2012/13 29 novembre 2016 Ing. Roberto Vergallo 1 MySQL DBMS MySQL Community Server http://www.mysql.it/downloads/mysql/5.1.html MySQL Workbench http://www.mysql.it/downloads/workbench/ 2 1

Java Database Connectivity (JDBC) An interface to communicate with a relational database Allows database agnostic Java code Treat database tables/rows/columns as Java objects JDBC driver An implementation of the JDBC interface Communicates with a particular database Java app JDBC calls JDBC JDBC driver driver Database commands Database Database Install driver Eclipse JDBC setup Download MySQL JDBC driver from http://www.mysql.it/products/connector/ Unzip mysql-connector-xxx.jar Add mysql-connector-xxx.jar to Eclipse project Project à Properties à Java Build Path à Libraries à Add External JARs 2

JDBC steps 1. Connect to database 2. Query database (or insert/update/delete) 3. Process results 4. Close connection to database Load JDBC driver 1. Connect to database Class.forName("com.mysql.jdbc.Driver").newInstance(); Make connection Connection conn = DriverManager.getConnection(url); URL Format: jdbc:<subprotocol>:<subname> jdbc:mysql://127.0.0.1/mydb?user=user&password=password 3

2. Query database a. Create statement Statement stmt = conn.createstatement(); stmt object sends SQL commands to database Methods executequery() for SELECT statements executeupdate() for INSERT, UPDATE, DELETE, statements b. Send SQL statements stmt.executequery( SELECT ); stmt.executeupdate( INSERT ); 3. Process results Result of a SELECT statement (rows/columns) returned as a ResultSet object ResultSet rs = stmt.executequery("select * FROM users"); Step through each row in the result rs.next() Get column values in a row String userid = rs.getstring( userid ); int type = rs.getint( type ); users table userid firstname lastname password type Bob Bob King cat 0 John John Smith pass 1 4

Print the users table ResultSet rs = stmt.executequery("select * FROM users"); while (rs.next()) { String userid = rs.getstring(1); String firstname = rs.getstring( firstname ); String lastname = rs.getstring( lastname ); String password = rs.getstring(4); int type = rs.getint( type ); System.out.println(userid + + firstname + + lastname + + password + + type); } users table userid firstname lastname password type Bob Bob King cat 0 John John Smith pass 1 Add a row to the users table String str = "INSERT INTO users VALUES('Bob', 'Bob', 'King', 'cat', 0) ; // Returns number of rows in table int rows = stmt.executeupdate(str); users table userid firstname lastname password type Bob Bob King cat 0 5

4. Close connection to database Close the ResultSet object rs.close(); Close the Statement object stmt.close(); Close the connection conn.close(); References JDBC API Documentation http://docs.oracle.com/javase/6/docs/technotes/guides/jdbc/ge tstart/gettingstartedtoc.fm.html 6