package bd; import java.net.URL; import java.sql.*; import java.io.*; import java.util.*; /** * ConfigConnection.java * Initialise une connexion à une base * en lisant un fichier de propriétés * * Created: Sat Aug 12 11:44:33 2000 * * @author Richard Grin * @version */ public class ConfigConnection { private ConfigConnection() { } /** * Obtenir une connexion à partir des infos qui sont * dans un fichier de propriétés. * Le fichier doit contenir les propriétés driver, url, * utilisateur, mdp (mot de passe) * @param nomFichierProp nom du fichier de propriétés. Si le nom de * fichier est relatif, le chemin du fichier doit se calculer * par rapport à la position de la classe ConfigConnection. * Si le nom est absolut, il doit se calculer par rapport * au classpath. * @return une connexion à la base */ public static Connection getConnection(String nomFichierProp) throws IOException, ClassNotFoundException, SQLException { Properties props = new Properties(); URL urlFichier = ConfigConnection.class.getResource(nomFichierProp); if (urlFichier == null) { throw new FileNotFoundException("Fichier " + nomFichierProp + " pas trouvé."); } BufferedInputStream bis = new BufferedInputStream(urlFichier.openStream()); props.load(bis); String driver = props.getProperty("driver"); String url = props.getProperty("url"); String utilisateur = props.getProperty("utilisateur"); String mdp = props.getProperty("mdp"); bis.close(); Class.forName(driver); return DriverManager.getConnection(url, utilisateur, mdp); } /** * Obtenir une connexion à partir des infos qui sont * dans un fichier de propriétés, du nom d'utilisateur * et du mot de passe passés en paramètre * Le fichier doit contenir les propriétés driver, url, * utilisateur, mdp (mot de passe) * @param nomFichierProp nom du fichier de propriétés * @return une connexion à la base */ public static Connection getConnection(String nomFichierProp, String utilisateur, String mdp) throws IOException, ClassNotFoundException, SQLException { Properties props = new Properties(); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(nomFichierProp)); props.load(bis); String driver = props.getProperty("driver"); String url = props.getProperty("url"); bis.close(); Class.forName(driver); return DriverManager.getConnection(url, utilisateur, mdp); } } // ConfigConnection