package normeDeCodage.database;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DatabaseAccess {
	private Properties configuration;
	private Connection connection;
	
	/*
	 * toute access � la base de donn�e doit �tre centralis� dans un ou plusieurs objet pr�vu � cet �ffet
	 * 
	 * l'objet aura des m�thodes qui executerons directement des requ�tes SQL
	 * et retournerons une valeurs ou un dataset
	 */
	
	
	
	/*
	 * gestion de la connection � la base de donn�e
	 */
	public static void main(String ... args) throws IOException, ClassNotFoundException, SQLException{
		
		//stocker l'information du driver dans des constantes statique
		String driver =  "com.mysql.jdbc.Driver";
		String prefixUrl = "jdbc:mysql://";
		
		/*
		 * toute l'information de la base de donn�e sera stock� dans un fichier XML
		 * la librairie java supporte d�j� un format d�f�nit par un DTD
		 * les 4 informations requises y seront inserer avec les cl� suivante
		 */
		Properties prop = new Properties();
		prop.setProperty("user", "root");
		prop.setProperty("password","root");
		prop.setProperty("host", "localhost:3306");
		
		
		/*
		 *les propri�t�s peuvent �tre s�rialis� en XML 
		 */
		FileOutputStream fos = new FileOutputStream("properties.xml");
		prop.storeToXML(fos,"fichier de configuration de la connection � la base de donn�e");

		/*
		 * les propri�t�s seront charg� comme suit
		 */
        FileInputStream fis = new FileInputStream("properties.xml");
        Properties config = new Properties();
        config.loadFromXML(fis);
        
        /*
         * la connection � la base de donn�e utilisera les propri�t�s
         * le DriverManager peut prendre l'information user et password 
         * directrement dans l'objet Propri�t� 
         */
        Class.forName(config.getProperty("driver"));
        String url = prefixUrl+config.getProperty("host")+"/";
        Connection c = DriverManager.getConnection(url,config);
        c.close();
	}
}
