base de datos

Páginas: 5 (1117 palabras) Publicado: 25 de junio de 2013
Conexiones de java con mysql Lo primero que necesitamos para conectarnos con una base de datos es un Driver (o Connector) con ella. Ese Driver es la clase que, de alguna forma, sabe cómo hablar con la base de datos. Desgraciadamente (y hasta ciertopunto es lógico), java no viene con todos los Drivers de todas las posibles bases de datos del mercado. Debemos ir a internet y obtener el Driver, normalmente en la página de nuestra base de datos
Tendremos que poner ese jar accesible en nuestro proyecto. Dependiendo de qué utilicemos para programar en java hay muchas opciones.
Guardarlo en la carpeta /jre/lib/ext. Si has hecho una instalaciónpor defecto en Windows, estará en C:\Archivos de Programa\Java\jdk1.5.0_05\jre\lib\ext. Esta es la carpeta en la que java nos deja poner jar adicionales para que se encuentren por defecto. Es buena idea ponerlo aquí si vamos a hacer muchos programas con base de datos. Si solo vamos a hacer uno, es mejor no ponerlo aquí. Si decidimos usar esta carpeta, también debemos tener la precaución de irretirando jars de versiones antiguas cuando pongamos las nuevas, o tendremos problemas.
Ponerlo en la variable de entorno CLASSPATH, siempre que nuestro IDE (eclipse, netbeans, etc) haga caso de esa variable. Si trabajas con una ventana de ms-dos (símbolo del sistema), puedes poner esto
C:\> set CLASSPATH=\mysql-connector-java-5.0.5-bin.jar
Añadirlo en nuestro IDE. En el ejemplo de eclipse, damoscon el botón derecho del ratón sobre el proyecto, para sacar el menú y elegimos "properties"->"java build path"->"Libraries"->"Add external JARs..." y seleccionamos nuestro jar.
Conectarnos con la base de datos
Una vez que java tiene el jar accesible y sabe dónde encontrarlo, ya podemos empezar con el código. Lo primero es conectarse con la base de datos
El código puede ser como este
importjava.sql.Connection;
import java.sql.DriverManager;
...
try
{
   Class.forName("com.mysql.jdbc.Driver");
   Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/agenda", "root", "LA_PASSWORD");
  
En primer lugar hemos hecho los import adecuados para poder obtener la conexión.
Luego hay que asegurarse de que se inicializa el Driver y se registra. Para ello hay dosopciones. Hacer un new de él o bien instanciarlo con Class.forName("nombre de clase"), que es como hacer el new, pero de una forma rara.
La ventaja de hacerlo con Class.forName() es que sólo necesitaremos el Driver de una base de datos si lo usamos. Me explico. Imagina que haces un programa que permite permite conectarse con varias bases de datos distintas: MySQL, PostGres, Oracle, etc. En algúnsitio damos a elegir al usuario qué tipo de base de datos tiene.
Si hacemos new de los Driver, tendremos que hacer unos if para en función de la elegida, hacer new de uno o de otro. El problema es que en nuestro código estarán los import y los new de todos los Driver de todas las bases de datos necesaras, los vayamos a usar o no. El programa no compilará y no correrá si no tiene todos los Driveraccesibles.
/* Todos estos import son necesarios para que compilen los news correspondientes */
import driver_de_mysql;
import driver_de_postgres;
import driver_de_oracle;
...
if (ha_elegido_mysql)
   new driver_de_mysql();
if (ha_elegido_postgres)
   new driver_de_postgres();
if (ha_elegido_oracle)
   new driver_de_oracle();
Sin embargo, con Class.forName() no necesitamos el import.Haremos los mismos if de antes, pero usaremos simplemente String distintos para llamar a Class.forName(). No necesitamos los import y no necesitamos los jar con los Driver, salvo el jar con el Driver que realmente elija el usuario. Es cosa suya tener instalado SU driver de SU base de datos.
/* No hacen falta imports */
...
if (ha_elegido_mysql)
   Class.forName("driver_de_mysql");
if...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Que es una base de datos y tipos de base de datos
  • Bases de datos y usuarios de bases de datos
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos
  • Base de datos
  • Bases de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS