14
1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

Embed Size (px)

Citation preview

Page 1: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

1

CSI 2532 Lab5

Installation de JDBC

Février 13, 2012

Page 2: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

Sommaire

• Qu'est-ce que JDBC ?

• Le contrôleur JDBC pour PostgreSQL

• La programmation Java avec JDBC

• Les requêtes SQL avec JDBC

Page 3: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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.

Page 4: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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

Page 5: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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

Page 6: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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');

Page 7: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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

Page 8: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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

Page 9: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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/

your_database_name

4. Exécutez une requête et affichez les résultats

Page 10: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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ésultatsStatement st = conn.createStatement();

ResultSet rs = st.executeQuery("SELECT * FROM artists);

while (rs.next()) {

……

}

rs.close();

st.close();

Page 11: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

Compile and Run

• Setup Java environment 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.3-604.jdbc4.jar;

• Commandes: javac MyJDBCEx.java java MyJDBCEx

Set your own JDK or JRE path

Set your own path of the jdbc driver

Page 12: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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();

Page 13: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

À 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()

Page 14: 1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012

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)