Java y consultas a MySQL

————————
TUTORIAL MYSQL:
————————
I. Instalación y arranque, creación de BDs y tablas, introducción y visualización de datos
II. Actualización de datos, eliminación y alteración de las BDs y las tablas
III. Consultas a MySQL desde un programa Java, Primera parte
IV. Consultas a MySQL desde un programa Java, Segunda parte
————————

Para poder hacer consultas a una BD en MySQL desde un programa escrito en Java, necesitaremos una biblioteca intermedia llamada JDBC. Este conector lo incrustaremos en nuestros proyectos Java y será quién actúe de intermediario entre el código del programa y la interfaz del servidor MySQL.
La biblioteca del conector JDBC la tendremos que descargar desde:
http://www.mysql.com/downloads/connector/j/

Como es independiente de la plataforma sobre la que se vaya a usar, descargamos el zip o el tarball, lo que prefiramos.
Una vez lo tengamos, lo descomprimimos de la forma habitual. Por ejemplo:
$ tar -zxvf mysql-connector-java-5.1.22.tar.gz
De todo lo que descomprime, lo que más nos interesa es el archivo mysql-connector-java-5.1.22-bin.jar. Por comodidad yo lo suelo almacenar en mi carpeta de proyectos de NetBeans para tenerlo siempre localizado.
$ mv mysql-connector-java-5.1.22-bin.jar $HOME/NetBeansProjects/

En NetBeans tendremos que pulsar con el botón derecho sobre el proyecto que hayamos creado y pinchar en “Propiedades”. Se abre un cuadro de diálogo. En la categoría “Bibliotecas” pinchamos sobre “Añadir JAR/Carpeta” y seleccionamos el archivo JAR del que hemos hablado.

Una vez hecho esto, ya podemos crear una clase en nuestro proyecto que maneje la conexión y las querys. En mi caso por ahora crearé la conexión con sus parámetros y luego un método con el que obtener la posibilidad de lanzar consultas.
Comenzamos con la clase a la que yo llamaré BDMgr.java. Primero importamos las librerías que permitan crear y configurar la conexión, así como la de sentencia y resultados:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

A continuación definimos la clase, sus parámetros y el método constructor que la instancia:

public class BDMgr {
  private final static String driver="com.mysql.jdbc.Driver";
  private final String dbhost="localhost";
  private final String dbport="3306";
  private final String dbname="tienda";
  private final String dbuser="root";
  private final String dbpass="";
  private Connection ct;
  private Statement st;

  public BDMgr(){
   String dbconnection = "jdbc:mysql://"+dbhost+":"+dbport+"/"+dbname;
    try{
     Class.forName(driver);
     ct=DriverManager.getConnection(dbconnection,dbuser,dbpass);
     st=ct.createStatement();
     System.out.println("BDMGR: Conexión exitosa");
    }catch(Exception e){
     System.out.println("BDMGR ERROR: No se pudo conectar a la BD "+e.getMessage());
    }
  }

Es interesante destacar que aunque aquí las he marcado como final, las variables de la conexión podrían ser leídas desde un archivo de configuración…

Necesitaremos también un método que nos proporcione la sentencia st que es mediante la cual realizaremos las consultas a la BD.

  private Statement getSt(){
   return st;
  }

Al marcarlo como privado, nos aseguramos de controlar el acceso a la BD. Ahora definiremos las consultas que creamos oportunas. Por ejemplo:

  public ResultSet parseQuery(String q){
   ResultSet rs=null;
   try{
    rs=getSt().executeQuery(q);
   }catch(Exception e){
    System.out.println("Error en la consulta: "+q);
   }
   return rs;
  }

Este método recibe una consulta q y devuelve un ResultSet; pero podríamos crear métodos específicos (seleccionar todos, seleccionar los que cumplen un requisito, etc.) y controlar mucho mejor qué consultas llegan al servidor SQL.
Algo muy interesante sería devolver una lista de elementos en lugar del ResultSet, para evitar tener que importar la librería en otras clases…

————————
TUTORIAL MYSQL:
————————
I. Instalación y arranque, creación de BDs y tablas, introducción y visualización de datos
II. Actualización de datos, eliminación y alteración de las BDs y las tablas
III. Consultas a MySQL desde un programa Java, Primera parte
IV. Consultas a MySQL desde un programa Java, Segunda parte
————————

Anuncios

3 pensamientos en “Java y consultas a MySQL

  1. Pingback: Java y consultas a MySQL (II) | Emilio

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s