curso de java

Curso de Java
Desde cero hasta conexiones con bases de datos MySQL

Aplicación: página 5
[ 2, 3, 4, 5, 6, 7, 8 ]

Aplicación de ejemplo

Aplicación de ejemplo

Conexión

Para conectarse a cualquier servidor de base de datos hace falta una aplicación que sirva como enlace. A ese tipo de clases se les llama conectores. En el caso de MySQL, debe descargarse de su sitio web. En dicha descarga, se obtiene todo el código fuente de las clases necesarias pero sólo se requiere el archivo mysql-connector-java.jar. Este archivo debe ponerse en la siguiente ruta:

[JAVA-HOME]\jre\lib\ext

Hecho lo cual, estamos listos para escribir el siguiente código:


Conector.java

package visorconsultas.controlador;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class Conector {

	Connection conexion;

	String error;

	/*Creamos un constructor que recibe cuatro parámetros:

	 *El nombre del servidor MySQL, el del usuario, la contraseña, y

	 *la base de datos*/

    public Conector(String host, String usuario, String pw, String base) {

    	try {

    		/*Esta línea crea una asociación entre nuestra aplicación

    		 * y la clase Driver que está empaquetada en el  jar de conexión.*/ 

	    	Class.forName("com.mysql.jdbc.Driver");

	    	/*La conexón se obtiene con una cadena que usa 

	    	 *los parámetros que recibe el constructor*/

	    	conexion=DriverManager.getConnection("jdbc:mysql://"+host+"/"+base,usuario,pw);

	    	

		}

		catch(ClassNotFoundException e){//Sucede si no se encuentra el driver

			error=e.getMessage();	

		}

		catch(SQLException e){//Sucede si la conexión falla

			error=e.getMessage();

		}

    }

    //Este método devuelve la conexión

    public Connection getConexion(){

    	return conexion;

    }

    public void cierraConexion(){

    	try {

		conexion.close();

	}

	catch (Exception ex) {

	}

    }

    //Este método devuelve el error que impide la conexión

    public String getMensajeError(){

    	return error;

    }

    

    

}

El código anterior trata de obtener una conexión a MySQL usando las clases Class, Connection, DriverManager, ClassNotFoundException y SQLException; el mecanismo es como sigue:
1. Con el método forname() de Class, se crea una asociación entre nuestra clase Conector y el driver de conexión MySQL. Si no lo logra, el error es capturado con la ClassNotFoundException
2. La conexión se realiza con el método getConnection() de DriverManager; si el servidor no está disponible o refuta la solicitud, la conexión no se consuma y se dispara la SQLException
3. El método dameConexion(), es el que se encargará de poner a disposición la conexión para las clases que la requieran; mientras que cierraConexión() la cancela. La ejecución de los objetos de la librería sql exigen ser ejecutados dentro de un bloque try…catch, por eso está así la única línea que necesaria para el terminar la conexión.
4. Por supuesto, se debe tener acceso a una base de datos de un servidor MySQL mediante un nombre de usuario y una contraseña. Estos cuatro datos: base, servidor, usuario y password, los recibe como parámetro el constructor y luego los usa el método getConnetion() de la clase DriverManager.

[ Anterior | Siguiente ]