Archive

Posts Tagged ‘java’

Acceder a MySQL desde Java

Imaginamos que creamos una base de datos MySQL para nuestra aplicación en Java. ¿Cómo podemos conectar nuestra base de datos con nuestra aplicación? Esto es lo que resolveremos con esta entrada.

1. Debemos descargar el conector MySQL para Java, que lo podemos obtener desde la página oficial:

http://www.mysql.com/downloads/connector/j/

2. Añadimos el fichero .jar descargado y lo adjuntamos a nuestro proyecto: Ejemplo para NetBeans.
Botón derecho sobre la carpeta Libraries y añadir archivo .jar

paso1

Desde este momento ya tenemos el conector agregado a nuestra aplicación.

 

3. Instanciamos y utilizamos la librería. Para este caso, hemos creado una clase conexión con métodos que reciben una consulta y nos devuelvan el resultado según sea, en nuestro caso, tipo Integer o DefaultTableModel .

Con esta función haremos una consulta SQL y guardaremos el resultado en un DefaultTableModel que será el objeto que nos devolverá esta función.
public DefaultTableModel HacerConsulta(String sql,String[] columnas)
{
. . .
}
 

Con este método ejecutaremos aquellas consultas que sean Insert, Delete y Update. Devuelve un entero que representa se hay error.

public int EjecutarConsulta(String sql)
{
. . .
}
 

Esta función la utilizaremos para consultar un valor escalar. Por ejemplo una sentencia SQL del tipo: “SELECT Count(*) FROM almacen”.

public int ConsultarEscalar(String sql)
{
. . .
}
 

Puedes obtener el fichero original más abajo, el siguiente fragmento contiene nuestra clase de conexión lista para copiar y pegar.

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
 
public class ConexionMySQL {
    private String ruta;
    private String usuario;
    private String clave;
 
    private Connection conexion;
    private Statement statement;
    private ResultSet resultSet;
    private DefaultTableModel modelo;
 
    public ConexionMySQL(String ruta,String usuario, String clave){
        this.ruta = "jdbc:mysql://" + ruta;
        this.usuario = usuario;
        this.clave = clave; 
        statement = null;
        resultSet = null;
        modelo = null;
 
        try {
            // Se registra el Driver de MySQL
            DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
        } catch (SQLException ex) {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }
 
    }
 
    public void Conectar()
    {
        try {
            conexion = (Connection) DriverManager.getConnection(ruta, usuario, clave);
            statement = (Statement) conexion.createStatement();
        } catch (SQLException ex) {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    public void Desconectar()
    {
        try {
            statement.close();
            conexion.close();
        } catch (SQLException ex) {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    public DefaultTableModel HacerConsulta(String sql,String[] columnas)
    {
        try {
 
            modelo = new DefaultTableModel();
 
            for(int i=0; i<columnas.length; i++)
            {
                modelo.addColumn(columnas[i]);
            }
 
            Conectar();
 
            resultSet = statement.executeQuery(sql);
 
            Object[] datos = null;
            while (resultSet.next()) {
                datos = new Object[modelo.getColumnCount()];
                for (int i = 0; i < modelo.getColumnCount(); i++) {
                    datos[i] = resultSet.getObject(i + 1);
                }
                modelo.addRow(datos);
            }
            resultSet.close();
            Desconectar();
 
        } catch (SQLException ex) {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }
 
        return modelo;
    }
 
    public int EjecutarConsulta(String sql)
    {
        int error = 0;
        try {
            Conectar();
            error = statement.executeUpdate(sql);
            Desconectar();
        } catch (SQLException ex) {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }
 
        return error;
    }
 
    public int ConsultarEscalar(String sql)
    {
        int valor = -1;
        try {
            Conectar();
 
            statement = (Statement) conexion.createStatement();
            resultSet = statement.executeQuery(sql);
            if (resultSet.first()) {
                valor = resultSet.getInt(1);
            }
            resultSet.close();
            Desconectar();
 
        } catch (SQLException ex) {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }
 
        return valor;
    }
 
}

.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }

Categorías:Programacion Etiquetas: ,

Por que no me gusta el eclipse

22 febrero 2010 4 comentarios

No me gusta el Eclipse. No me gusta nada. Más bien, se podría decir que lo odio. ¿Por qué? Pues por cosas como estas:

image

 

El error es tan descriptivo que no se ni siquiera por qué peta. “El sistema no puede encontrar la ruta especificada”. ¿¿La ruta de qué?? Me caguen’ti, Eclipse.

Un proyecto que hace 1 día funcionaba sin problemas, y ahora de la noche a la mañana, sin tocar NADA, petas? Como diría “Marcial”: “Veste a la meirdaaaaaaaaaaaa”

Eclipse: Veste a la mierda!!!!!!!

 

Así que me ha tocado borrar el Eclipse y volver a instalar todo, configurarlo y cargar los proyectos que tenia antes. El Netbeans no saba tantos problemas!

Categorías:Informática Etiquetas: , ,

III Jornada de Tecnologías Java en la Universidad de Alicante

18 noviembre 2009 1 comentario

image

Hoy me acabo de enterar que el JTECH de la Universidad de Alicante va a organizar nuevamente una jornada de tecnologías Java.

Una buena noticia para todos aquellos que somos de la universidad de Alicante, ya que tiene buena pinta

Como hoy estoy perro (u cuando no?), copio y pega la descripción de la web:

La jornada se celebrará el martes día 1 de Diciembre en el Salón de Actos de la Escuela Politécnica Superior (edificio 16 en el plano de la UA). La inscripción es gratuita y está abierta a todos aquellos que tengan curiosidad en conocer en más profundidad las tecnologías Java y el desarrollo Open Source.

Este evento forma parte de los actos programados durante este curso académico para la celebración del 25 aniversario de las titulaciones de Informática en la Escuela Politécnica Superior y se enmarca en el convenio de colaboración Sun-Universidad de Alicante.

Programa
9:00-9:30. Entrega de documentación
9:30-9:45. Inauguración por parte del Director de la EPS D. Fernando Llopis
9:45-10:40. Conferencia Emilio Bravo: “El framework Google Web Toolkit
10:40-11:30 Conferencia Martín Pérez: “Desarrollo y pruebas de proyectos Java en un entorno ágil
11:30-12:00. Pausa
12:00-13:00. Conferencia Sergio Montoro: “Modelos de negocio alrededor del software libre
13:00-14:00. Conferencia Francisco Peyrona: “Desarrollo Java Destilado

Para más información: http://www.jtech.ua.es/jornadas/index.html

Categorías:Informática, Universidad Etiquetas: , ,