package com.iti.tp1.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnexionOracle {
	
	// Normalement pour le singleton, c'est seulement la conn qui est en privé pour n'en faire qu'une
	private static ConnexionOracle connexionOracle;
	//Objet Connection
	private static Connection conn;


	private ConnexionOracle() {
	}

	public static ConnexionOracle getInstance() {
		if (null == connexionOracle) {
			connexionOracle = new ConnexionOracle();
		}
		return connexionOracle;
	}
	
	public static Connection getConnexion() {
		Connection conn = null;
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    		// le mot server est a remplacer par le nom de l’instance de base de donnees
    		// le mot port est a remplacer par le port de la base, habituellement 1521
    		String url = "jdbc:oracle:thin://@localhost:1521:xe";
    		
    		// user, password sont l’utilisateur et le mot de passe
    		// utilise pour se connecter a la base
    		conn = DriverManager.getConnection(url, "user", "password");
			// enlever l'auto-commit par défaut
    		//conn.setAutoCommit(false);

        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (SQLException e) {
 			e.printStackTrace();
 		} catch (ClassNotFoundException e) {
            e.printStackTrace();
 		}
		return conn;
	}
	
}
