martes, 15 de abril de 2008

CONEXION JAVA-MYSQL

QUE ES MYSQL:
MySQL es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar archivos llamados de bases de datos o , lo que es lo mismo.[1]

Instalamos MYSQL:



Luego de finalizar la configuración se procede a la configuración de MySql:





Configuramos el servidor como maquina de desarrollo:

En la vista de de configuración de desarrollo se configura el numero de usuarios:










En este paso definimos el password del administrador “root” del SGBD MySQL:




Ventana de proceso de que toda la configuración esta bien:


Instalamos el cliente SQLYog para MySQL, este cliente permite interactuar con MySQL ya que dispone de ventanas graficas, ademas existe diferentes clientes los cuales podemos elegir libremente.






Conexión entre netbeans y MySQL.Para ello primero ingresamos al netbeans, una vez dentro, elegimos la opción SERVICES, luegoDatabases>Drivers, luego clic derecho en este, para luego clic en NEW DRIVER..., se muestra la ventanasiguiente en el cual debemos darle la ruta de nuestro driver.


Una vez terminada la instalación, podemos hacer ya la prueba de conexión a MySQL mediante el cliente, previamente instalado, para ello ingresamos al programa cliente, y ejecutamos ó creamos una nueva conexión al MySQL, para ello ingresamos los datos necesarios, el password de ROOT creada durante la instalación del MySQL. y Si la conexión fue exitosa, se debe mostrar las bases de datos y todo lo demás, que existe dentro del MySQL.
El siguiente paso será crear una base de datos, y por lo menos crear un par de tablas dentro, esto nos servirá para las pruebas de conexión desde java, posteriormente.


primeramente ingresamos al netbeans, una vez dentro, elegimos la opción SERVICES, luego
Databases>Drivers, luego clic derecho en este, para luego clic en NEW DRIVER..., se muestra la ventanasiguiente en el cual debemos darle la ruta de nuestro driver.



Una vez registrado el driver, ya podemos hacer la conexión con MySQL. Para ello hacemos clic derecho sobre el driver de MySQL registrado, y luego clic en CONNECT USING..., luego se muestra una ventana, en el cual debemos ingresar los datos de nuestra base de datos creada anteriormente. Un ejemplo de conexión de muestra en la
siguiente ventana.



Si la conexión fue exitosa se debe mostrar la ventana de confirmación, con el mensaje de CONNECTION ESTABLISHED. De lo contrario se debe revisar que los datos ingresados sean los correctos. Un aspecto que me pareció súper genial, al margen la conexión, era la posibilidad de poder interactuar de forma directa con la base de datos de MySQL, desde netbeans, sin la necesidad de un cliente especial para ello, para lo cual simplemente es necesario logearse con una cuenta de usuario, como por ejemplo el ROOT, y ya podemos estar adentro, viendo, creando, eliminando y insertando datos, como se muestra en la ventana siguiente.



Si somos mas curiosos, podemos ver mas opciones que nos permiten interactuar con nuestra base de datos.
Bueno, hemos terminado la primera parte de la conexión directa, desde netbeans al MySQL, y hemos visto y utilizado las herramientas que nos facilitan el uso y manejo de la base de datos desde el IDE. Ahora nos toca hacer aplicaciones reales, específicamente para la web, para ello es necesario realizar algunas configuraciones adicionales.
Primeramente, como lógico, debemos crear un proyecto web, dentro de netbeans, para luego agregarle el driver de conexión entre java y MySQL (Connector/J driver), esto en forma de librería, este paso se irán especificando en los siguientes pasos.
Primeramente creamos la librería con el driver, para ello vamos al menú TOOLS>LIBRARIES, luego dentro de la ventana hacemos clic en NEW LIBRARY..., y luego colocamos Library Name = MySQL y Library Type=Class Libraries, luego una vez creado la librería, elegimos este, y le agregamos el *.jar.

Ahora, una vez creado la librería con el *.jar dentro, luego este debe ser agregado al proyecto, específicamente dentro de la carpeta LIBRARIES, para ello vamos dentro de la opción Projects>webapplication4>libraries, hacemos clic derecho sobre el ultimo, y luego clic en ADD LIBRARY..., después dentro de la ventana, elegimos la librería MySQL que acabamos de crear. webapplication4 es el nombre de mi proyecto.




Si usted ha agregado correctamente entonces la ruta del Connector/J del *.jar de JDBC en su ambiente de CLASSPATH se mantiene fijo.
Tip: Cuando usted hace los cambios a cualquiera de sus variables de ambiente (como CLASSPATH), cierre y re-abre cualquier orden abierto las ventanas puntuales para que ellos se refresquen su ambiente de valores no actualizados.
Ya tenemos configurado las variables de ambiente de forma correcta, el siguiente paso es crear nuestro script java, el cual accederá a la base de datos.
Nosotros crearemos un programa de Java simple que intentará conectar a nuestro servidor de base de datos MySQL usando el driver Connector/J de JDBC. Cree un nuevo archivo de *.java.

CODIGO:

mport java.io.*;
import java.net.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.naming.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class listahr extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html;charset=UTF-8";
Connection conn;
ResultSet resultado;
Statement sentencia;
String login = "root";
String password = "secreto";
String bd = "mysql";
String url = "jdbc:mysql://localhost:3306/"+bd;
public void registrar() throws SQLException, Exception, NamingException
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
public void conectar() throws SQLException,Exception
{
conn = DriverManager.getConnection(url,login,password);
}
public void consultar() throws SQLException,Exception
{
sentencia = null;
resultado = null;
sentencia = conn.createStatement();
resultado = sentencia.executeQuery("select * from departamento");
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void resultado(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
{
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("

Servlet de conexion a BD..." + request.getContextPath () + "

");
try
{ registrar();
try
{ conectar();
if (conn != null)
{ out.println("Conexión a base de datos " + url + " ... Ok");
conn.close();
}
}
catch(Exception e)
{
out.println("Error en la conexion a BD " + url + e.getMessage());
}
}
catch(Exception e)
{
out.println("Error en el registro del driver " + url + e.getMessage());
}
out.close();
}
public String getServletInfo()
{
return "Short description";
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
{
resultado(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
{
resultado(request, response);
}
}[2]

[1]http://www.esepestudio.com/articulo/desarrollo-web/bases-de-datos-mysql/Que-es-MySQL.htm
[2]http://www.latindevelopers.com/forum/viewtopic.4857.html.

No hay comentarios: