Java

Conexión a MySQL desde App Java

A continuación ponemos un ejemplo sencillo de una conexión a MySQL desde Java.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
 * PruebaMySQL.java
 *
 * Programa de prueba para conectar a una base de datos de MySQL.
 * Se presupone que el servidor de base de datos esta arrancado, disponible
 * y en el puerto por defecto.
 * El usuario y password de conexion la base de datos debe cambiarse.
 * En la base de datos se supone que hay una base de datos llamada test y que
 * tiene una tabla persona con tres campos, de esta manera:
 * mysql> create database test;
 * mysql> use test;
 * mysql> create table persona (id smallint auto_increment, nombre varchar(60), 
 *      nacimiento date, primary key(id)); 
 */
 
import java.sql.*;
 
/**
 * Clase de prueba de conexion una base de datos MySQL
 */
public class PruebaMySQL {
 
    /** 
     * Crea una instancia de la clase MySQL.
     */
    public PruebaMySQL() 
    {
        // Se mete todo en un try por los posibles errores de MySQL
        try
        {
            // Se registra el Driver de MySQL
            DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
 
            // Se obtiene una conexion la base de datos. Hay que cambiar
            // el usuario "usuario" y la clave "passwd_bbdd" por las
            // adecuadas a la base de datos que estemos usando.
            Connection conexion = DriverManager.getConnection (
                "jdbc:mysql://localhost/test", "usuario", "passwd_bbdd");
 
            // Se crea un Statement, para realizar la consulta
            Statement s = conexion.createStatement();
 
            // Se realiza la consulta. Los resultados se guardan en el 
            // ResultSet rs
            ResultSet rs = s.executeQuery ("select * from persona");
 
            // Se recorre el ResultSet, mostrando por pantalla los resultados.
            while (rs.next())
            {
                System.out.println (rs.getInt ("Id") + " " + rs.getString (2)+ 
                    " " + rs.getDate(3));
            }
 
            // Se cierra la conexion la base de datos.
            conexion.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
 
    /**
     * Metodo principal, instancia una clase PruebaMySQL
     *
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        new PruebaMySQL();
    }
 
}

Posteriormente, podemos compilar el codigo y probarlo mediante los siguientes comandos.

root@ubuntu:~# javac PruebaMySQL.java 
root@ubuntu:~# java PruebaMySQL

Instalar Apache Tomcat 7 y driver JDBC para MySQL en Ubuntu

En esta ocasión, vamos a instalar Apache Tomcat con soporte JDBC para MySQL. La instalación es muy sencilla, y vamos a partir de que ya tenemos Java instalado, como hemos comentado en la entrada de Instalar Java 7 de Oracle en Ubuntu via PPA.

Para ello ejecutamos como root el siguiente comando:

root@ubuntu:~# apt-get install tomcat7

A continuación, vamos a instalar el driver JDBC de MySQL, que por suerte lo podemos encontrar dentro de los repositorios de Ubuntu.

root@ubuntu:~# apt-get install libmysql-java

Por último, debemos cambiar el CLASSPATH de Java para que encuentre la libreria JDBC y nuestras aplicaciones Java puedan realizar la conexión al servidor MySQL sin problemas. Para ello editaremos el archivo de variables de entorno, que en Ubuntu se encuentra en /etc/environment

root@ubuntu:~# vi /etc/environment

Y añadimos lo siguiente:

1
2
CLASSPATH=".:/usr/share/java/mysql-connector-java.jar"
JAVA_HOME="/usr/lib/jvm/java-7-oracle/jre/bin"

Ahora tan solo hay que reiniciar la maquina para ver si todo funciona correctamente, o si no queremos reiniciar, cargamos la variable CLASSPATH en el terminal de la siguiente forma:

root@ubuntu:~# export CLASSPATH="$CLASSPATH:/usr/share/java/mysql-connector-java.jar:."

Ahora nuestro servidor Tomcat ya estaría funcionando y escuchando en el puerto 8080. La ruta local del servidor donde se desplegaran las aplicaciones es /var/lib/tomcat7/webapps.

NOTA IMPORTANTE: Aunque Tomcat 7 viene mas seguro por defecto que en versiones anteriores, deberiamos configurar los usuarios y contraseñas para acceder al Manager. El archivo en cuestión se localiza en /etc/tomcat7/tomcat-users.xml y con todo cambio que hagamos en la configuración, tendremos que reiniciar el servicio.

Instalar Java 7 de Oracle en Ubuntu via PPA

A continuación se detalla como instalar el paquete de Oracle que nos proporciona Java 7, incluyendo el JRE, el JDK y el plugin para el navegador.

Lo primero de todo es añadir los repositorios de PPA (Personal Packages Archives) en Ubuntu (versiones 13.10, 13.04, 12.10, 12.04 y 10.04), después actualizar la lista de paquetes de los repositorios y por ultimo instalar el paquete en cuestión. Para ello usaremos los siguientes comandos:

root@ubuntu:~# add-apt-repository ppa:webupd8team/java
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install oracle-java7-installer

Despues de ejecutar estos comandos, podemos comprobar que tenemos Java 7 correctamente instalado ejecutando:

root@ubuntu:~# java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

¿Por qué hay que realizar estos pasos y no ejecutamos directamente un apt-get install? Lo más probable es que no necesitemos Oracle Java en absoluto, pero podemos vernos en la necesidad de instalarlo y esto es un problema, ya que fue retirado de los repositorios «partner» por la revocación de la anterior licencia de distribuidor de Java (JDL).

Alternativamente, podemos instalar OpenJDK que nos proporcionara lo mismo que instalar Java de Oracle. Se puede hacer la instalación instalando el paquete openjdk-7-jdk.

root@ubuntu:~# apt-get install openjdk-7-jdk
Ir arriba