Conexion y configuracion de Java con MySQL

Moderador: iuav

Temas relacionados: Java, JavaBeens, JBuilder, JDK, Applets, etc

Conexion y configuracion de Java con MySQL

Notapor herbertlimachi » Lun Dic 31, 2007 10:09 pm

Herbert Juvenal Limachi Laricano
Manual de instalación, configuración y conexión de MySQL con Java (netbeans-7.1.1-ml-windows) mediante JDBC en Windows 7
Por: Herbert Juvenal Limachi Laricano
E-mail: hlimachi[at]gmail[dot]com
Escuela Profesional de Ingeniería de Sistemas :mrgreen:
Universidad Nacional del Altiplano
Puno – Perú

1.- En este manual se utiliza un sistema operativo con las siguientes características:

:arrow: Windows 7 Professional (32 bits)

2. Instalación de MySQL

Se debería poder descargar el instalador de MySQL en su versión para Windows de 32 bits. Para ello se debe acceder a la siguiente dirección: mysql[dot]com/downloads. En este manual se utiliza el instalador de MySQL de la siguiente versión:

:arrow: mysql-5.5.23-win32

Una vez que se ha descargado el instalador de MySQL, se debe configurar el directorio donde realizaremos la instalación de MySQL. En este manual usaremos el siguiente directorio: C:\WebServer\MySQL >> aquí instalaremos el MySQL. Bien, una vez que lo tengamos ejecutamos el instalador y vamos recorriendo las pantallas...

- Aceptamos los términos de la licencia
- Elegimos la opción “Custom”, para realizar una configuración personalizada
- Cambiamos la localización de la instalación a la carpeta creada anteriormente
- Y finalmente instalamos
- Una vez terminada la instalación, realizamos la configuración de forma inmediata, para ello activamos la opción "Launch the MySQL Instance Configuration Wizard"
- Elegimos la opción "Detailed Configuration"
- Elegimos la opción "Developer Machine"
- Elegimos la opción "Multifuncional Database"
- Elegimos la opción "Manual Setting", elegimos un máximo de 15 usuarios
- Definimos el contraseña del usuario "root"
- Esperamos que se ejecuten los procesos, teniendo en cuenta que ninguno deberia fallar
- Finalmente se muestra la ventana, que indica que todo el proceso termino correctamente

3. Instalación del cliente SQLYOG para MySQL.

Este cliente nos permitirá realizar una conexión con MySQL de forma mas cómoda, ya que cuenta con una interfaz gráfica de usuario. Pero existen varios otros clientes de este tipo, los cuales podemos elegir libremente. Procedemos a descargar el instalador, el archivo debe ser para Windows, para ello se debe acceder a la siguiente dirección: webyog[dot]com/en/downloads.php, la versión utilizada en este manual es el siguiente:

:arrow: SQLyog-9.6.3-0Trial

Luego de haberlo descargado, procedemos con la instalación en donde aceptamos todas las configuraciones ya predefinidas que se muestran durante la instalación. Después de haber terminado con la instalación, podemos realizar una prueba de conexión para MySQL con el cliente SQLyog. Para ello ingresamos al programa cliente, y creamos una nueva conexión para MySQL. Ingresamos los datos del usuario "root" en los campos solicitados.

Si la conexión para MySQL mediante el cliente SQLyog ha sido exitosa, se deberia mostrar las bases de datos y todo lo demás, que existe por defecto dentro de MySQL. El siguiente paso sera crear una base de datos, por ejemplo llamado "hola", y por lo menos crear una tabla dentro de ella. Por ejemplo una tabla que se llame "tabla1", con una columna que se llame "columna1" de tipo "int", esto nos servirá para realizar las pruebas de conexión desde java, posteriormente.

4. Instalación de netbeans

Para utilizar netbeans primero se debe instalar el JDK de Java. Se debería poder descargar el programa de instalación de la siguiente dirección: oracle[dot]com. La versión utilizada en este manual es el siguiente:

:arrow: jdk-7u3-windows-i586

El JDK utilizado es de tipo SE. Luego de haber descargado el instalador del JDK, iniciamos con la instalación. La instalación no requiere una configuración en particular, así que vamos recorriendo las ventanas y aceptando todos los valores ya predefinidos. Después se nos muestra la ventana de instalación del JRE, el cual también lo instalamos. Una vez terminada la instalación de JDK de forma correcta, ya tenemos listo el JDK, sobre el cual instalaremos el netbeans. Se debería poder descargar el instalador de netbeans de la siguiente dirección: netbeans[dot]org en su versión para Windows de 32 bits. El netbeans utilizado en este manual es del tipo Java EE, que integra las herramientas apenas para desarrollo en Java y dos servidores de aplicaciones. La versión que se utilizara en este manual es el siguiente:

:arrow: netbeans-7.1.1-ml-javaee-windows

Una vez que tengamos listo el instalador de netbeans, procedemos con la instalación de este, recorriendo las ventanas. En el primer paso se muestran los servidores de aplicación, que se instalaran juntamente con netbeans. Para ello activamos las dos opciones mostradas:

- GlassFish Server Open Source Edition 3.1.2
- Apache Tomcat 7.0.22

Luego en los siguientes pasos de la instalación, configuramos:

- Aceptamos los términos de la licencia
- Aceptamos los términos de la licencia de JUnit
- Elegimos la carpeta de instalación e JDK
- Elegimos la carpeta de instalación de GlassFish
- Elegimos la carpeta de instalación de Tomcat
- En la ventana actual se muestra el sumario de la instalación
- Esperamos que termine la instalación
- Finalizamos la instalación

Una vez terminada la instalación de netbeans de forma correcta, realizamos un primer intento para una conexión directa entre netbeans y MySQL mediante un driver (controlador). Luego en un segundo intento realizamos una conexión mediante código fuente en Java. Para la conexión directa es necesario tener el driver "MySQL Connector/J", el cual debería poder ser descargado de la siguiente dirección:

:arrow: mysql[dot]com/downloads/connector/j

Este driver deberá ser específico para la base de datos MySQL. En el presente manual se utilizara la siguiente versión de MySQL Connector/J:

:arrow: mysql-connector-java-5.1.19

Para mayor detalle, sobre este conector, dentro del archivo descomprimido contiene la documentación respectiva.

4. Conexión entre netbeans y MySQL

Para ello primeramente ingresamos a netbeans, y creamos un nuevo proyecto, para eso vamos a "File>>New Project...>>JavaWeb>>Web Application". Una vez dentro del proyecto, elegimos la pestaña "SERVICES" que se encuentra en la parte superior izquierda del explorador de proyectos, luego vamos a "Databases>>Drivers", luego hacemos clic derecho en este, para luego clic en "NEW DRIVER...", luego se muestra la ventana en donde se deberá darle la ruta del driver MySQL Connector/J, que en este se llama "mysql-connector-java-5.1.19-bin.jar".

Una vez registrado el driver dentro de netbeans, podemos realizar la conexión para MySQL de forma directa desde netbeans. 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 se debe ingresar los datos de nuestra base de datos MySQL creada anteriormente. Si la conexión fue exitosa, se deberá mostrar una opción llamada "jdbc:mysql://localhost:3306/hola [root on Default schema]" dentro de las opciones en la lista de "Databases". Esta opción deberá ser expansible y deberá tener un icono de color cafe con una forma compacta (sin rajaduras). Un aspecto que me pareció muy interesante, es la posibilidad de poder usar netbeans como un cliente con interfaz gráfica de usuario para MySQL. Esto permite realizar una conexión de forma directa para la base de datos MySQL desde la interfaz gráfica de usuario de netbeans. Desde netbeans ya podemos estar adentro de MySQL, viendo, creando, eliminando y insertando datos :). También se puede ejecutar consultas SQL. Sinceramente esta característica me ha parecido muy interesante, cómodo y practico. Si somos mas curiosos, podemos ver mas opciones que nos permiten poder interactuar con la base de datos MySQL.

Bueno, hemos terminado con la primera parte de la conexión directa desde netbeans para MySQL, y hemos visto la utilización de algunas herramientas gráficas que nos facilitan la interacción de la base de datos MySQL desde netbeans. Ahora nos toca realizar aplicaciones reales, específicamente para la web, así que sera necesario realizar algunas configuraciones adicionales. Primeramente, se debe crear un proyecto para la web dentro de netbeans, para ello vamos a "File>>New Project...>>Java Web>>Web Aplication". Luego agregamos el driver la conexión entre java y MySQL (MySQL Connector/J), en forma de librería. Para esto primeramente creamos una librería con el driver MySQL Connector/J. Para crear esa librería 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", y luego una vez creado la librería, elegimos este, y le agregamos el archivo mysql-connector-java-5.1.19-bin.jar, que se encuentra dentro de la carpeta del driver MySQL Connector/J (mysql-connector-java-5.1.19).

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

Una vez que ya tenemos agregado la librería a nuestro proyecto, el siguiente paso es sumamente importante, ya que sin este paso, no se podrá hacer la conexión vía web, desde java para MySQL. Para ello, lo primero es copiar dentro de la carpeta %JAVA_HOME%\Java\jdk1.7.0_03\jre\lib\ext, el driver "mysql-connector-java-5.1.19-bin.jar", en mi sistema bajo Windows, será el siguiente, "C:\Program Files\Java\jdk1.7.0_03\jre\lib\ext". Usted también debe agregar el ruta completa hacia este archivo *.jar en su ambiente de variables "CLASSPATH". En caso de que si usted no sabe hacer esto, vaya a "Inicio>>Panel de control>>Sistema>>Configuracion avanzada del
sistema>>Opciones avanzadas(la etiqueta) >>Variables de entorno...". Haga doble clic sobre "CLASSPATH" si ya se encuentra allí o pulsa el botón "Nueva..." para crear uno con el nombre de "CLASSPATH". Si usted ya tuviera el "CLASSPATH" listó, simplemente teclee en la ruta completa y incluyendo el nombre del archivo en la ventana que muestra los valores de CLASSPATH existentes (;C:\Program Files\Java\jdk1.7.0_03\jre\lib\ext\mysql-connector-java-5.1.19-bin.jar). Si usted está creando un nuevo "CLASSPATH" entonces simplemente agregue '.;' al inicio y luego añada el camino completo al archivo del *.jar de Connector/J (.;C:\Program Files\Java\jdk1.7.0_03\jre\lib\ext\mysql-connector-java-5.1.19-bin.jar).

Nota: La variable "CLASSPATH" contiene una lista de punto y coma separando los plegadores y archivos del *.jar dónde la JVM buscará las clases Java. Usted siempre debe separar los caminos con el punto y coma (;) para que JVM pueda entender donde un camino acaba y donde empieza el próximo. También tenga presente eso en "CLASSPATH" los caminos inconstantes, el primer camino siempre es '.' (el solo punto) qué medios el plegador actual, para que JVM empiece la búsqueda para las clases Java del plegador actual. Si usted ha agregado correctamente la ruta del Connector/J de JDBC en su ambiente de "CLASSPATH", eso se mantiene fijo.

Tip: Cuando usted hace los cambios a cualquiera de sus variables de ambiente (como CLASSPATH), es necesario reiniciar el sistema operativo, para que los cambios tengan efectos y refresquen sus variables de ambiente con valores no actualizados. Ya tenemos configurado las variables de ambiente de forma correcta, el siguiente paso es crear nuestra aplicación web en java, el cual deberá conectarse a la base de datos MySQL.

Nosotros crearemos un programa *.java simple que intentará conectar a nuestro servidor de base de datos MySQL usando el driver Connector/J de JDBC. Creamos un archivo de tipo "Servlet" dentro de "Source Packages". Dentro de "Projects>>WebApplication1>>Source Packages", hacemos clic derecho sobre el, escogemos "New...>>Servlet...". Luego ya tenemos listo el código fuente básico en el archivo "NewServlet.java". Antes de agregar las funciones de conexión para la base de datos MySQL, podemos realizar un pequeño teste, ejecutando la aplicación. Para ello hacemos clic derecho sobre el archivo "NewServlet.java", e luego escogemos "Debug File". Si todo se ejecuta normalmente se muestra en el navegador de Internet el texto: "Servlet NewServlet at WebApplication1". Luego podemos seguir con el siguiente paso. Agregamos todo el código restante para "NewServlet.java", como se muestra bajo:

Código: Seleccionar todo
  1.  

  2. /*

  3.  * To change this template, choose Tools | Templates

  4.  * and open the template in the editor.

  5.  */

  6.  

  7. /*

  8.  * Nota: Reemplaze los 'underline' por '.', en las bibliotecas

  9.  */

  10. import java_io_IOException;

  11. import java_io_PrintWriter;

  12. import javax_servlet_ServletException;

  13. import javax_servlet_annotation.WebServlet;

  14. import javax_servlet_http.HttpServlet;

  15. import javax_servlet_http.HttpServletRequest;

  16. import javax_servlet_http.HttpServletResponse;

  17.  

  18. import javax_servlet_*;

  19. import javax_servlet_http_*;

  20. import java_sql_*;

  21. import javax_naming_*;

  22. import java_sql_Connection;

  23. import java_sql_DriverManager;

  24.  

  25. /**

  26.  *

  27.  * @author Juan

  28.  */

  29. @WebServlet(name = "NewServlet", urlPatterns = {"/NewServlet"})

  30. public class NewServlet extends HttpServlet {

  31.  

  32.     /**

  33.      * Processes requests for both HTTP

  34.      * <code>GET</code> and

  35.      * <code>POST</code> methods.

  36.      *

  37.      * @param request servlet request

  38.      * @param response servlet response

  39.      * @throws ServletException if a servlet-specific error occurs

  40.      * @throws IOException if an I/O error occurs

  41.      */

  42.    

  43.     private static final String CONTENT_TYPE = "text/html;charset=UTF-8";

  44.     Connection conn;

  45.     ResultSet resultado;

  46.     Statement sentencia;

  47.     String login = "root";

  48.     String password = "aaaa";

  49.     String bd = "hola";

  50.     String url = "jdbc:mysql://localhost:3306/"+bd;

  51.  

  52.     public void registrar() throws SQLException, Exception, NamingException

  53.     {

  54.         Class.forName("com.mysql.jdbc.Driver").newInstance();

  55.     }

  56.     public void conectar() throws SQLException,Exception

  57.     {

  58.         conn = DriverManager.getConnection(url,login,password);

  59.     }

  60.     public void consultar() throws SQLException,Exception

  61.     {

  62.         sentencia = null;

  63.         resultado = null;

  64.         sentencia = conn.createStatement();

  65.         resultado = sentencia.executeQuery("select * from tabla1");

  66.     }

  67.     public void init(ServletConfig config) throws ServletException

  68.     {

  69.         super.init(config);

  70.     }

  71.     public void resultado(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException

  72.     {

  73.         response.setContentType(CONTENT_TYPE);

  74.         PrintWriter out = response.getWriter();

  75.         out.println("<h1>Servlet de conexion a BD..." + request.getContextPath () + "</h1>");

  76.         try

  77.         {

  78.             registrar();

  79.             try

  80.             {

  81.                 conectar();

  82.                 if (conn != null)

  83.                 {

  84.                     out.println("Conexión a base de datos " + url + " ... Ok");

  85.                     conn.close();

  86.                 }

  87.             }

  88.             catch(Exception e)

  89.             {

  90.                 out.println("Error en la conexion a BD " + url + e.getMessage());

  91.             }

  92.         }

  93.         catch(Exception e)

  94.         {

  95.             out.println("Error en el registro del driver " + url + e.getMessage());

  96.         }

  97.         out.close();

  98.     }

  99.  

  100.  

  101.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)

  102.             throws ServletException, IOException {

  103.         response.setContentType("text/html;charset=UTF-8");

  104.         PrintWriter out = response.getWriter();

  105.         try {

  106.             /*

  107.              * TODO output your page here. You may use following sample code.

  108.              */

  109.             out.println("<html>");

  110.             out.println("<head>");

  111.             out.println("<title>Servlet NewServlet</title>");            

  112.             out.println("</head>");

  113.             out.println("<body>");

  114.             out.println("<h1>Servlet NewServlet at " + request.getContextPath() + "</h1>");

  115.             out.println("</body>");

  116.             out.println("</html>");

  117.         } finally {            

  118.             out.close();

  119.         }

  120.     }

  121.  

  122.     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

  123.     /**

  124.      * Handles the HTTP

  125.      * <code>GET</code> method.

  126.      *

  127.      * @param request servlet request

  128.      * @param response servlet response

  129.      * @throws ServletException if a servlet-specific error occurs

  130.      * @throws IOException if an I/O error occurs

  131.      */

  132.     @Override

  133.     protected void doGet(HttpServletRequest request, HttpServletResponse response)

  134.             throws ServletException, IOException {

  135.         resultado(request, response);

  136.         //processRequest(request, response);

  137.     }

  138.  

  139.     /**

  140.      * Handles the HTTP

  141.      * <code>POST</code> method.

  142.      *

  143.      * @param request servlet request

  144.      * @param response servlet response

  145.      * @throws ServletException if a servlet-specific error occurs

  146.      * @throws IOException if an I/O error occurs

  147.      */

  148.     @Override

  149.     protected void doPost(HttpServletRequest request, HttpServletResponse response)

  150.             throws ServletException, IOException {

  151.         resultado(request, response);

  152.         //processRequest(request, response);

  153.     }

  154.  

  155.     /**

  156.      * Returns a short description of the servlet.

  157.      *

  158.      * @return a String containing servlet description

  159.      */

  160.     @Override

  161.     public String getServletInfo() {

  162.         return "Short description";

  163.     }// </editor-fold>

  164. }

  165.  



5. Compilar el proyecto

En este paso testamos la conexión para la base de datos MySQL, desde el archivo "NewServlet.java". Para ello hacemos clic derecho sobre el nombre del archivo, y luego hacemos clic sobre la opción "Debug File". En la ventana "Set Servlet Execution URI", elegimos la opción "/NewServlet", y luego presionamos el botón "Ok". Si la conexión fue exitosa, se mostrara en el explorador de Internet, el texto: Servlet de conexión a BD.../WebApplication1 Conexión a base de datos jdbc:mysql://localhost:3306/hola ... Ok. Si ha logrado ejecutar la aplicación, tómese un descanso :).

En este manual básico de configuración local instalamos, configuramos y ejecutamos una conexión desde Java para MySQL sobre el sistema operativo Microsoft Windows 7. Se ha obtenido y luego se ha instalado el driver Connector/J de JDBC para acceder a MySQL desde nuestra aplicación Java. También se ha configurado una conexión directa desde netbeans para MySQL, como también desde un archivo de código fuente *.java. Yo no discuto acerca de JDBC ni de su forma de funcionamiento ni manera de codificación en este manual. Este manual debe poder proveer un nivel básico para poder realizar aplicaciones web basados en java. Por favor cualquier duda y/o sugerencia, me escriben a mi e-mail.
Última edición por herbertlimachi el Mié Abr 18, 2012 7:30 am, editado 24 veces en total
herbertlimachi
Novato
Novato
 
Mensajes: 2
Registrado: Lun Dic 31, 2007 8:39 pm


Re: Conexion y configuracion de Java con MySQL

Notapor waltico » Mar Ene 29, 2008 9:08 pm

Excelente, justo lo que estaba buscado... gracias! 8)
Avatar de Usuario
waltico
Colaborador
Colaborador
 
Mensajes: 183
Registrado: Sab Jun 21, 2003 4:04 pm
Ubicación: Puno



    

Volver a Java

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados