Ayuda con Conexion a mysql

no se mucho de programación en java solo lo que aprendí en un manual
para hacer una conexion a mysql uso:

void PrepararBaseDatos(){
try{
String controlador="com.mysql.jdbc.Driver";
Class.forName(controlador).newInstance();
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Error al cargar el controlador"+e);
}
try{
String bd = "bd";
String DSN="jdbc:mysql://localhost/"+bd;
String user = "root";
String password ="";
conexion=DriverManager.getConnection(DSN,user,password);
System.out.println("Conexión a base de datos "+DSN+" ... Ok");
}catch(Exception e){
System.out.println("Error al realizar la conexion"+e);
}
try{
sentencia=conexion.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}catch(Exception e){
System.out.println("Error al crear el objeto sentencia"+e);
}
}
pero lo que quiero es tenerlo esta conexion en un archivo independiente y nada mas llamarlo en otros archivos para poder hacer consultas

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de marcosaw

Forma sencilla

Si tu aplicación no es multithread ahí te va una forma sencilla. Solo que puedes hacer una conexión a la vez, de lo contrario, tendrías que implementar un pool de conexiones según la carga de transacciones a tu base de datos. Te recomiendo cheques el Framework Hibernate, te soluciona un montón de broncas con todo lo que tiene que ver con bases de datos.

  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.sql.Statement;
  6.  
  7. /**
  8.  *
  9.  * @author marcosaw
  10.  *
  11.  * Esta clase estará en un archivo independiente: ConnectionHandler.java
  12.  */
  13. public class ConnectionHandler {
  14.     private static Connection conexion;
  15.     private static Statement sentencia;
  16.     private static final String DNS = "jdbc:mysql://localhost/bd";
  17.     private static final String USER = "root";
  18.     private static final String PASS = "";
  19.    
  20.     /* Este bloque estático configura y carga la base de datos a
  21.      * la referencia "conexion" y el Statement a la referencia "sentencia"
  22.      */
  23.     static {
  24.         try {
  25.             String driver = "com.mysql.jdbc.Driver";
  26.             Class.forName(driver);
  27.             conexion = DriverManager.getConnection(DNS, USER, PASS);
  28.             sentencia = conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
  29.         } catch (ClassNotFoundException | SQLException e) {
  30.             throw new RuntimeException(e);
  31.         }
  32.     }
  33.    
  34.     /**
  35.      * <p>Este método lo llamas desde cualquier otra clase para obtener
  36.      * la conexión creada. Ejemplo:</p>
  37.      * Connection conexionOtraClase = ConnectionHandler.getConnecton();
  38.      * @return retorna la conexión a la base de datos
  39.      */
  40.     public static Connection getConnection() {
  41.         return conexion;
  42.     }
  43.    
  44.     /**
  45.      * <p>Este método lo llamas desde cualquier otra clase para obtener
  46.      * la sentencia creada. Ejemplo:</p>
  47.      * Statement statementOtraClase = ConnectionHandler.getStatement();
  48.      * @return retorna la sentencia creada
  49.      */
  50.     public static Statement getStatement() {
  51.         return sentencia;
  52.     }
  53. }

NOTA IMPORTANTE: Este código es funcional para lo que pides, de manera muy limitada, ya que tiene varios problemas de concurrencia y seguridad (entre otros) que hay que resolver para poder hacer una clase así, de manera profesional. También deberás cerrar la conexión de manera manual, cuando ya no la ocupes. Para mejorar esto te recomiendo que estudies qué es un pool de conexiones y el framework que te mencioné arriba. Básicamente este ejemplo es tu mismo código pero modificado. Saludos.

muchas gracias voy a adarle

muchas gracias
voy a adarle una estudiada a pool de conexiones y el framework