CSI 2532 Lab5 Installation de JDBC Février 13, 2012 1 Sommaire • Qu'est-ce que JDBC ? • Le contrôleur JDBC pour PostgreSQL • La programmation Java avec JDBC • Les requêtes SQL avec JDBC Qu'est-ce que JDBC? • JDBC est une API (Application Programming Interface) java disponible depuis la version 1.1 du JDK. • Java DataBase Connectivity. • Cette API est constituée d'un ensemble d'interfaces et de classes qui permettent l'accès, à partir de programmes java, à des données tabulaires. Qu'est-ce que JDBC? L'API JDBC permet, entre autres L'établissement d'une connexion avec le SGBD L'envoi de requêtes SQL au SGBD, à partir du programme java Le traitement, au niveau du programme, des données retournées par le SGBD Le traitement des méta-données de la connexion, de l'instruction ou des résultats Le traitement des erreurs retournées par le SGBD lors de l'exécution d'une instruction PostgreSQL JDBC driver • Site Web: http://jdbc.postgresql.org • Documents: http://jdbc.postgresql.org/documentation/hea d/index.html • Download the JDBC Driver http://jdbc.postgresql.org/download.html Version: 9.1-901 JDBC 4 postgresql-9.1-901.jdbc4 Programmation Java - Préparation • Préparez le serveur: CREATE TABLE artist ( aname VARCHAR(20), birthplace VARCHAR(20), style VARCHAR(20), dateofbirth DATE, PRIMARY KEY (aname)); INSERT INTO artist VALUES ('Caravaggio','Milan','Baroque','1571-09-28'); INSERT INTO artist VALUES ('Smith', 'Ottawa', 'Modern', '1977-12-12'); INSERT INTO artist VALUES ('Picasso','Malaga','Cubism','1881-10-25'); JDBC en Java 1. Importez le contrôleur JDBC • import java.sql.*; 2. Charger le contrôleur JDBC 3. Connectez-vous à la Base de données 4. Exécutez une requête et affichez les résultats Exemple: MyJDBCEx.java JDBC en Java 1. Importez le contrôleur JDBC 2. Charger le contrôleur JDBC • Class.forName("org.postgresql.Dr iver"); • or externally • • java -Djdbc.drivers=org.postgresql.Driver MyJavaProgram or set CLASSPATH 3. Connectez-vous à la Base de données 4. Exécutez une requête et affichez les résultats JDBC en Java 1. Importez le contrôleur JDBC 2. Charger le contrôleur JDBC 3. Connectez-vous à la Base de données • Connection conn = DriverManager.getConnection(url, username, password); • URL: • • jdbc:postgresql://host:port/database jdbc:postgresql://web0.site.uottawa.ca:15432/yo ur_database_name 4. Exécutez une requête et affichez les résultats JDBC en Java 1. Importez le contrôleur JDBC 2. Charger le contrôleur JDBC 3. Connectez-vous à la Base de données 4. Exécutez une requête et affichez les résultats Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT * FROM artists); while (rs.next()) { …… } rs.close(); st.close(); Compile and Run • Setup Java environment PATH Set your own JDK or JRE path • set PATH=%PATH%;E:\dev\jdk\bin; • So we can use java.exe, javac.exe in command line CLASSPATH • set CLASSPATH=d:\postgresql-8.3604.jdbc4.jar; • Commandes: javac MyJDBCEx.java java MyJDBCEx Set your own path of the jdbc driver Requêtes (suite) • PreparedStatement PreparedStatement st = conn.prepareStatement("SELECT * FROM artist WHERE aname = ?"); st.setString(1, foovalue); ResultSet rs = st.executeQuery(); • Execute Updates PreparedStatement st = conn.prepareStatement("DELETE FROM artist WHERE aname = ?"); st.setString(1, foovalue); int numOfRowsDeleted = st.executeUpdate(); À vous! • Écrivez un programme Java et: Connectez vous à votre propre DB Retourner le nom et la date de naissance de tous les artistes et Affichez le résultat à l’écran dans une table à 2D avec System.out.print() REFERENCE • PostgreSQL JDBC Doc: http://jdbc.postgresql.org/documentation/83/inde x.html Chapters: • 3. Initializing the Driver • 5. Issuing a Query and Processing the Result • JDBC Tutorials at sun.com JDBC Introduction (a short introduction) JDBC Basics (with many examples) JDBC Overview (architecture of JDBC)