Sysql -java

Solo disponible en BuenasTareas
  • Páginas : 7 (1505 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de diciembre de 2010
Leer documento completo
Vista previa del texto
MySQL con Java

Una vez instalado MySQL, descargado el driver para java de MySQL y con una base de datos y una tabla creada en MySQL, vamos a hacer un pequeño programa en java que nos permita conectarnos a la base de datos MySQL y consultar la tabla que hemos creado.
Abrimos NetBeans y creamos un nuevo proyecto (File->New Proyect->Java->Java aplication), y le ponemos un nombre cualquiera, aquíse llama “ejemplo”.
Ahora antes de empezar debemos agregar el Driver MySQL-Connector a las librerias del proyecto. El proyecto recién creado en NetBeans se ve así:
[pic]
Ahora botón derecho en Libraries->Add Library y aparece una venta como esta:
[pic]
MySQL JDBC Driver y click en Add Library. Ahora volvemos a nuestro Main.java, sera necesario que hagamos unos imports.

Instalar el DriverEn nuestro programa java, todos los import que necesitamos para manejar la base de datos están en java.sql.*. Puesto que casi todas los métodos relativos a base de datos pueden lanzar la excepción SQLException, meteremos todo nuestro programa en un try-catch.
Además, necesitamos la clase org.gjt.mm.mysql.Driver que viene con el driver de MySQL. Por ello, en nuestro CLASSPATH o incluido ennuestro proyecto con nuestro IDE favorito, debemos incluir el jar que contiene el driver MySQL (mysql-connector-java-3.1.7-bin.jar) o la versión más moderna y compatible con la versión de nuestro servidor de MySQL.
Lo primero que tenemos que hacer es asegurarnos que el Driver se inicializa y se registra, para ello
 
try
{
   Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e)
{   e.printStackTrace();
}

Establecer la conexión con la base de datos

Debemos tener el servidor de MySQL arrancado. Si hemos instalado y dejado esa opción como estaba, cada vez que encendamos el ordenador, se arrancará el servidor de MySQL, por lo que no tenemos que preocuparnos por ello.
El servidor de MySQL abre por defecto el puerto 3306 para aceptar conexiones de posibles clientes,de programas que quieran conectarse y acceder a la base de datos. Nuestro programa java, si quiere consultar la tabla de base de datos que hemos creado, deberá conectarse a este servidor.
Para establecer la conexion, la clase DriverManager tiene métodos getConnection (). Usaremos uno de ellos
// Establecemos la conexión con la base de datos.
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/prueba","root", "la_clave");
El primer parámetro del método getConnection () es un String que contiene la url de la base de datos:
jdb:mysql porque estamos utilizando un driver jdbc para MySQL, que es el que nos hemos bajado.
localhost porque el servidor de base de datos, en mi caso, está en el mismo ordenador en el que voy a correr el prorama java. Aquí puede ponerseuna IP o un nombre de máquina que esté en la red.
prueba es el nombre de la base de datos que he creado dentro de mysql. Se debe poner la base de datos dentro del servidor de MySQL a la que se quiere uno conectar. Es el nombre que pusimos cuando desde SQL hicimos create database prueba;
Los otros dos parámetros son dos String. Corresponden al nombre de usuario y password para acceder a la base dedatos. Al instalar MySQL se crea el usuario root y se pide la password para él. Como no hemos creado otros usuarios, usaremos este mismo.
Si todo va bien, en conexion tendremos nuestra conexión a la base de datos.
Esta conexión es en realidad un socket entre java y la base de datos, aunque para nosotros es transparente. Lo que sí es importante, es saber que si varios hilos comparten estaconexión, deben usarla sincronizadamente. Si no se hace así, los mensajes que van por el socket se pueden entremezclar y los hilos pueden leer cachos de mensaje destinados al otro hilo. Otra opción es que cada hilo cree su propia conexión. Finalmente, la mejor opción de todas si nuestra aplicación va a tener varios hilos intentando acceder a la base de datos, es usar un Pool de conexiones.

Realizar...
tracking img