JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
JDBC Architecture des bases de données Serveur de base de données Négociation avec la base de données Ordres DML Application cliente Dans une architecture 2-tiers, les clients se connectent directement au serveur de base de données.
JDBC Architecture des bases de données Serveur de base de données Serveur d'application Ordres DML Requêtes . Négociation avec la base de données Application cliente Dans une architecture 3-tiers, les clients passe par un serveur d'application pour se connecter au serveur de base de données.
JDBC Une table contient des données groupées en ligne et en colonne. Table de base de données Une table contient des données groupées en ligne et en colonne. Certaines colonnes sont particulières : clef primaire, clef étrangère et valeurs obligatoires....
JDBC SQL-Structured Query Language Le SQL permet de créer des vues consistentes sur les données. manipuler les données : effacer, ajouter, modifier. Le SQL est un langage de manipulation des données (DML) normalisé. C'est celui qui est utilisé pour accéder aux bases MS, Oracle et Postgres.
JDBC SQL-Structured Query Language SELECT <NomDeColonne[,NomDeColonne]... ¦ *> FROM <NomDeTable> [WHERE <condition>] [ORDER BY <NomDeColonne[,NomDeColonne]...> [ASC¦DESC] ] L'instruction SELECT permet de récupérer les données d'une table en ne s'intéressant qu'à certaines colonnes. Elle permet également de définir des conditions auquelles les données seront ou non ajoutées à la vue. Elle offre également la possibilité de trier les données dans un ordre particulier. L'instruction SELECT permet de contruire des vues sur les données.
SQL-Structured Query Language JDBC JDBC JDBC SQL-Structured Query Language <NomDeTable1> INNER JOIN <NomDeTable2> ON <condition> L'instruction INNER JOIN permet de récupérer les données de plusieurs table comme s'il s'agissait d'une seule et même table . Cette instruction est utilisée en conjonction avec l'instruction SELECT. L'instruction INNER JOIN permet d'effectuer une jointure (lier le contenu) entre plusieurs tables.
SQL-Structured Query Language JDBC SQL-Structured Query Language INSERT INTO <NomDeTable> ( <NomDeColonne[,NomDeColonne]...>) VALUES ( 'valeur1'[,'valeur2'].... ) L'instruction INSERT INTO ajoute un enregistrement dans une table. Cette instruction doit spécifier quelles sont les valeurs données aux différents champs de l'enregistrement. Elle doit également spécifier les colonnes que l'on désire remplir, et celles auquelles on laisse une valeur par défaut. L'ordre et le nombre des NomDeColonne correspond à celui des valeurs. L'instruction INSERT INTO permet d'ajouter des enregistrements à une table.
SQL-Structured Query Language JDBC SQL-Structured Query Language UPDATE <NomDeTable> SET ( <NomDeColonne> = '<valeur>'[,<NomDeColonne> = '<valeur>']) WHERE <condition> L'instruction UPDATE modifie un ou plusieurs enregistrement dans une table. Cette instruction doit spécifier quelles sont les valeurs données aux différents champs de l'enregistrement, pour chaque colonne modifiée. La clause WHERE spécifie la/les condition que doivent remplir les données pour être concernée par l'update. L'instruction UPDATE permet de modifier un ou plusieurs enregistrements dans une table.
SQL-Structured Query Language JDBC SQL-Structured Query Language DELETE FROM <NomDeTable> WHERE <condition> L'instruction DELETE supprime un ou plusieurs enregistrement dans une table. La clause WHERE spécifie la/les condition que doivent remplir les données pour être concernées par la suppression. L'instruction DELETE permet de supprimer un ou plusieurs enregistrements dans une table.
JDBC Accès à une base de données en java. Pour accéder à une base de données en java, nous devons réaliser les étapes suivantes : Charger un pilote spécifique à la base de données. Obtenir une connexion avec la base de données (session). Obtenir un « Statement » qui permettra d'exécuter les requêtes SQL. Obtenir des « ResultSet » contenant les données de la table. Fermer la connexion à la base de données. L'accès à une base de données se fait toujours selon le même schéma.
JDBC Charger un pilote spécifique à la base de données et obtenir une connexion à la base de données.
JDBC Charger un pilote spécifique à la base de données et obtenir une connexion à la base de données. Pour charger un pilote spécifique à la base de données, on utilise la méthode statique de la Classe java.lang.Class : Class.forName( <NomDeLaClasseDuPilote> ); Cette méthode peut lancer l'exception ClassNotFoundException si la classe spécifiée n'est pas dans votre classpath. Pour obtenir une connexion avec la base de données , on utlise la méthode statique de la classe java.sql.DriverManager : DriverManager.getConnection( url, user, pwd ) Cette méthode prend en argument l'url de la base de données qui est de la forme jdbc: <protocole propre au driver> : <nom d'hôte> : <port> :<NomDeBD> Elle peut lancer l'exception SQLException en cas de problème. Cette procédure permet de se connecter à une base de donnée distante ou locale .
Obtenir un « Statement » JDBC Obtenir un « Statement » Il nous faut obtenir un Objet de type Statement pour envoyer nos requêtes SQL. Ces requêtes peuvent alors rertourner un ResultSet.
Obtenir un « Statement » JDBC Obtenir un « Statement » Pour obtenir un statement , il faut utiliser la méthode connection.createStatement(); Cette méthode renvoie un objet java implémentant l'interface java.sql.Statement Cet objet peut alors être utilisé pour exécuter des requêtes SQL : statement.executeQuery( <RequeteSQL>); Certaines requêtes renvoie un jeu de données : un java.sql.ResultSet. Ce ResultSet sera utilisé pour lire les données... Il nous faut obtenir un Objet de type Statement pour envoyer nos requêtes SQL. Ces requêtes peuvent alors rertourner un ResultSet.
Manipulation des ResultSets JDBC Manipulation des ResultSets Il faut placer le curseur sur le premier enregistrement. Ensuite on peut parcourir notre ensemble de données !!! Au début le curseur du ResultSet pointe sur l'enregistrement -1 !!!!
Manipulation des ResultSets JDBC Manipulation des ResultSets Ces opérations sont à risque On utilise la méthode appropriée de ResultSet pour lire la donnée de la colonne « i » Il existe de nombreuses méthodes permettant de lire tous les types de données primitifs dans la classe ResultSet.
Les méta données sont stockées dans un ResultSet. JDBC Les Meta Données Les meta données sont des données sur les données. Chaque ResultSet possède ses propres MetaDonnées. Elles sont utilisées pour obtenir les noms des colonnes dans un ResultSet ainsi que le type des données qui se trouvent dans chacune d'elles. Obtention des metaData. Utilisation des metaData. Les méta données sont stockées dans un ResultSet.
JDBC Les Meta Données les metadonnées renseignent sur le type des données dans chaque colonne. On peut également obtenir le type des données sous forme de chaîne. On utilise les métadonnées pour connaître le type des données dans chaque colonne du ResultSet.
Comment sont formées les URL JDBC ? Les URL JDBC sont définies sous forme de String selon ce schéma : String url = "jdbc:<subprotocol>:<subname>" <jdbc>: Le protocole dans une URL JDBC est toujours jdbc <subprotocol> Cela correspond au nom du driver ou au mécanisme de connexion à la base de données. <subname> Une manière d'identifier la source de données. Ce dernier élément dépend complètement du sous-protocole et du driver. Par exemple : jdbc:odbc:maBase;CacheSize=30;ExtensionCase=LOWER jdbc:mysql://localhost/maBase jdbc:oracle:oci8@:maBase jdbc:oracle:thin@://localhost:8000:maBase jdbc:sybase:Tds:localhost:5020/maBase Il est nécessaire de se documenter auprès du fournisseur du driver.