Vamos a inagurar la sección de programación con un pequeño articulo sobre como conectarse a cualquier base de datos desde una aplicación Java.
Lo primero que necesitaremos es descargar el driver JDBC de nuestra base de datos, para este ejemplo usaremos el driver para MySQL, el cual podremos descargar del siguiente sitio: http://dev.mysql.com/downloads/connector/j/5.0.html una vez que lo hallamos descargado ubicamos el siguiente archivo mysql-connector-java-x.x.x-bin.jar, donde las x indicaran el numero de versión del driver. Bien ahora que lo tenemos ubicado tenemos 2 opciones agregar al CLASSPATH la ruta donde se encuentra el archivo y la segunda es copiar dicho archivo en la siguiente ruta: JAVA_HOME\jre1.x\lib\ext
Bien ahora necesitamos realizar los siguientes pasos:
- Cargar el driver en nuestra aplicación.
- Establecer comunicación con la base de datos.
- Preparar una sentencia SQL y ejecutarla.
- Cerrar comunicación con la base de datos.
Esto en líneas de código es así:
import java.sql.*; //Importamos este paquete para poder hacer uso de los objetos que nos permitan
//la comunicaciób y manipulacion de la base de datos
public class ConexionBD {
// Definimos una variable que almacenará la clase del driver jdbc
public static String driver = “com.mysql.jdbc.Driver”;
// Definimos una variable que almacenará la direccion de nuestro servidor de base de datos
// Hay que revisar la documentación del driver para sabaer como armar esta cadena, para MySQL
// es así: jdbc:mysql://servidor:puerto/nombre_de_bd
public static String host = “jdbc:mysql://localhost:3306/base_datos”;
// Definimos una variable para representar al usuario de la bd
public static String user = “root”;
// Definimos una variable para representar al password del usuario de la bd
public static String password = “root”;
// Definimos una variable de tipo Connection para establecer la conexion con la bd
public static Connection conexion = null;
// Definimos una variable de tipo PreparedStatement para usar consultas SQL
public static PreparedStatement ps = null;
// Definimos una variable de tipo ResultSet que almacenara el resultado de consultas SQL
// de tipo SELECT
public static ResultSet rs = null;
public ConexionBD(){
try{
Class.forName( driver ); // Cargamos el driver
// Establecemos conexion con la bd
conexion = DriverManager.getConnection( host, user, password );
// Definimos propiedades de la conexion
conexion.setTransactionIsolation( Connection.TRANSACTION_SERIALIZABLE );
}
// Lanzamos una excepcion por si no se pudo cargar el driver
catch( ClassNotFoundException e ){
e.printStackTrace();
}
// Lanzamos una excepcion por existen problemas en la conexion o propiedades
catch( SQLException e ){
e.printStackTrace();
}
}
public void ejecutaConsulta(){
// Una consulta de tipo SELECT
String query = “SELECT * FROM nombre_tabla”;
try{
ps = conexion.prepareStatement(query); // Preparamos la consulta
rs = ps.executeQuery(); // La ejecutamos
// Mostramos en la consola los resultados de la conexion.
while( rs.next() ){
System.out.println( rs.getString( 1 ) + ” => ” + rs.getString( 2 ) );
}
}
// Lanzamos una excepcion por si existen porblemas en la consulta
catch( SQLException e ){
e.printStackTrace();
}
}
public static void main(String[] args){
ConexionBD ejemplo = new ConexionBD();
ejemplo.ejecutaConsulta();
}
}
Este ejmplo sencillo muestra claramente como usar el driver JDBC, para mayor información puedes consultar el tutorial oficial de SUN con respecto al API JDBC: http://java.sun.com/docs/books/tutorial/jdbc/index.html
Para consultar los drivers existentes: http://developers.sun.com/product/jdbc/drivers
Espero que este articulo sea de ayuda, también puede ser implementado en paginas JSP y Servlets, aunque para estas tecnologias se recomienda el uso de un pool de conexiones, en el siguiente articulo veremos como crear un pool en nuestra aplicación JSP, utilizando Apache Tomcat
