Nov 092012
 
Artículo Java

El código java para conectarse a una base de datos «db_pruebas» con el usuario «root» y contraseña «rootpass» es el siguiente:

En este código, debemos editar el valor asignado a las variables url, dbName, userName y password para que se ajuste a nuestra instalación de MySQL.

Además, para que el ejemplo funcione debemos descargar e instalar el driver de MySQL para Java.

Instalación del driver de MySQL para Java

Descargamos el driver desde http://dev.mysql.com/downloads/connector/j/. El fichero descargado se llama mysql-connector-java-5.1.22.tar.gz y ocupa 4.028.047 bytes.

Descomprimimos este fichero, y extraemos los ficheros que contiene con el comando:

A continuación, copiamos  el fichero «mysql-connector-java-5.1.22/mysql-connector-java-5.1.22-bin.jar» al directorio de instalación que deseemos (por ejemplo, lo copiamos a «/usr/lib/mysql/mysql-connector-java-5.1.22-bin.jar»).

Después, incluimos en la variable de entorno CLASSPATH la ruta completa al fichero:

  • En Linux, podemos hacerlo añadiendo la siguiente línea en el script de inicialización del shell (p.ej., «.profile», «.login», «.bashrc» ):
  • En Windows, debemos editar las variables del sistema mediante el Panel de Control. Por ejemplo, en Windows 7 accedemos a «Panel de Control -> Sistema -> Avanzado -> Variables de Entorno»:

 

Cómo insertar datos y consultar la base de datos

En primer lugar, obtenemos un objeto Statement con el método createStatement.

Con él, podemos ejecutar sentencias SQL SELECT utilizando el método executeQuery. El resto de sentencias SQL (INSERT, UPDATE, DELETE) así como otras sentencias (CREATE TABLE, DROP TABLE,…) se ejecutan utilizando el método executeUpdate:

Conversión de tipos de datos SQL a objetos Java

En el anterior ejemplo hemos utilizado el método genérico «getObject()» para recuperar los valores de la tabla. En el contexto en el que se ha utilizado, los valores devueltos ha sido convertidos automáticamente a objetos de tipo «String», para ser concatenados con los literales de texto en la llamada a System.out.println.

En otros casos, puede ser conveniente utilizar métodos más para convertir los datos a otros tipos de objetos más adecuados. Por ejemplo:

Para valores booleanos y numéricos:

  • getBoolean()
  • getByte(), getShort(), getInt(), getLong()
  • getFloat(), getDouble()

Para cadenas de texto:

  • getString()
  • getAsciiStream() – devuelve un objeto de tipo java.io.Inputstream
  • getCharacterStream() – – devuelve un objeto de tipo java.io.Reader

Para fechas:

  • getTime(), getTimestamp(), getDate() – devuelven objetos de tipo java.sql.(Time,Timestamp,Date) respectivamente

Para tipos binarios:

  • getBinaryStream() – devuelve un objeto de tipo java.io.Inputstream
  • getBlob() – Para recuperar datos de tipo BLOB. devuelve un objeto de tipo java.sql.Blob
  • getClob() – Para recuperar datos de tipo CLOB (Oracle) o TEXT (MySQL)

Otros métodos útiles del interfaz ResultSet:

  • getArray() – para recuperar una columna de tipo ARRAY (no soportado en MySQL)
  • getBytes() – devuelve un array de bytes (por ejemplo, cuando se lee un valor de tipo BLOB)

Referencias

 Publicado por en 4:05 pm

 Deja un comentario

(requerido)

(requerido)