Java : Etablissement de la connexion




Java : Etablissement de la connexion

  • La troisième étape doit nous permettre de rentrer en contact, pour la première fois, avec notre base de données. C’est la connexion à proprement parler.
  • Créer une instance de la classe Connection grâce à la méthode getConnection () de l’objet DriverManager en indiquant la base de données à charger à l’aide de son URL :String url = “jdbc:odbc:base_de_donnees“;

Connexion au SGBD

    Classe java.sql.DriverManager
    Gestion du contrôle et de la connexion au SGBD
    static Connection getConnection(String url, String user, String password)

  • url : identification de la base considérée sur le SGBD ==>Format de l’URL est dépendant du SGGB utilisé
  • user : nom de l’utilisateur qui se connecte à la base
  • password : mot de passe de l’utilisateur
  • Une fois la connexion établie, vous pouvez obtenir un certain nombre d’informations en utilisant la classe DatabaseMetaData. Une instance de cette classe vous est retournée par la méthode
    Connexion.getDatabaseMetaData().

Exemple(Oracle)

      public class orcl {
                  Connection con = null;
                  public void connexionBD()
      {
                          try {  Class.forName("oracle.jdbc.driver.OracleDriver");
      System.out.println ("driver etablie");
      		}
       catch (ClassNotFoundException e) 
      {
      System.out.println ("driver non trouvé");
       }
      String URL =  "jdbc:oracle:thin:@//127.0.0.1:1521/xe " ;
      String USER = "system";
      String PASSWD = "system";
      	try {
      con=DriverManager.getConnection(URL,USER, PASSWD);
      System.out.println ("connexion  base orcl etablie");} 
      catch (SQLException e) {
      System.out.println ("pas de connexion");
                                  }
      	}
      }
  • Utiliser un pilote JDBC Oracle pour se connecter à une base de données Oracle non sécurisée située à 127.0.0.1:1521 avec un sid appelée : mabase.
  • Exemple(MySql)

        public class mysql {
                    Connection con = null;
                    public void connexionBD()
        {
                            try {  Class.forName("com.mysql.jdbc.Driver");
        System.out.println ("driver etablie");
        		}
         catch (ClassNotFoundException e) 
        {
        System.out.println ("driver non trouvé");
         }
        String URL =  "jdbc:mysql://localhost:3306/nom_base_donnee" ;
        String USER = "root";
        String PASSWD = "root";
        	try {
        con=DriverManager.getConnection(url,user,password);;
        System.out.println ("connexion  base MySql etablie");} 
        catch (SQLException e) {
        System.out.println ("pas de connexion");
                                    }
        	}
        }

    Exemple(Access)

        public class access {
                    Connection con = null;
                    public void connexionBD()
        {
                            try {  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        System.out.println ("driver etablie");
        		}
         catch (ClassNotFoundException e) 
        {
        System.out.println ("driver non trouvé");
         }
        String Database =  "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=myDB.mdb;" ;
        String USER = "";
        String PASSWD = "";
        	try {
        con=DriverManager.getConnection(database,user,password);;
        System.out.println ("connexion  base Access etablie");} 
        catch (SQLException e) {
        System.out.println ("pas de connexion");
                                    }
        	}
        }

    Exercice (Oracle)

      Utiliser un pilote JDBC Oracle pour se connecter à une base de données Oracle non sécurisée située à 127.0.0.1:1521 avec un sid appelée : mabase.

    Correction (Oracle)

    Connection connection = null;
    try {    
    // Chargez le pilote JDBC
    	String driverName = "oracle.jdbc.driver.OracleDriver";   
    	 Class.forName(driverName); 
    / / Créer une connexion à la base de données
    	String serverName = "127.0.0.1";   
     	String portNumber = "1521";
    	String sid = "mabase";    
    	String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;    
    	String username = "system";    
    	String password = "system";    
    	connection = DriverManager.getConnection(url, username, password);} 
    catch (ClassNotFoundException e) {
    / / Impossible de trouver le pilote de base de données} 
    catch (SQLException e) {
    / / Impossible de se connecter à la base de données
    	}
    

    Exercice (MySql)

      Utiliser un pilote JDBC pour se connecter à une base de données MySql située à localhost appelée : base_test.

    Correction (MySql)

    // Importer les classes
     import java.sql.* ;
     import java.io.* ;
     import com.mysql.jdbc.driver.* ;
     public class TestDB { 
     public static void main (String[] args) {
    try { 
     try {
     // chargement de la classe par son nom
     Class.forName("com.mysql.jdbc.Driver");
     } catch (ClassNotFoundException ex) {
    Logger.getLogger(connection.class.getName()).log(Level.SEVERE, null, ex);}
    // Protocole de connexion
    String protocole = "jdbc:mysql:" ;
    // Adresse IP de l’hôte de la base et port
    String ip = "localhost" ; // dépend du contexte
    String port = "3306" ; // port MySQL par défaut
    // Nom de la base
    String nomBase = "test_db" ; // dépend du contexte
    // Chaîne de connexion
    String conString = protocole + "//" + ip + ":" + port + "/" + nomBase;
    // Identifiants de connexion et mot de passe
    String nomConnexion = "user" ; // dépend du contexte 
    String motDePasse = "passwd" ; // dépend du contexte
    // Connexion
    Connection con = DriverManager.getConnection( conString, nomConnexion, motDePasse);
    // Envoi d’un requête générique
    String sql = "select * from Marins" ;
    Statement smt = con.createStatement() ;
    ResultSet rs = smt.executeQuery(sql) ;
    while (rs.next())
    { 
    	System.out.println(rs.getString("nom")) ;
    }
    } catch (Exception e) { 
    // gestion des exceptions 
    } 
    } 
    } 
     

    Abonnez vous à notre chaîne YouTube gratuitement