lunes, 2 de mayo de 2016

Conexión de java a mysql con ide netbeans

Hola mundo.. en esta entrada aprenderemos a como conectarse a una base de datos Mysql de manera local y a tráves de una red desde java con ide Netebans.

Crearemos un nuevo proyecto con el nombre "PruebaConexion".



Agregamos la librería del driver Mysql (Clic derecho en Biblioteca -  Agregar biblioteca - driver Mysql.. o jdbc driver mysql..) recuerden que si no hacemos esto no podremos realizar la conexión.



Dentro de la carpeta "Paquete de fuentes" crearemos el paquete "repository"
Dentro del paquete repositorio crearemos la clase "ConexionMysql" la cual hará todo el trabajo.


Cabe mencionar que crearemos nuestra base de datos con el nombre "db_mysql" a la vez tenemos que saber el hostname, port, username y el password para este caso en particular dichos atributos son:
- Hostname(nombre del host): localhost ó 127.0.0.1 debido a que se esta trabajando de manera local, si se quisiera trabajar conectando a una maquina en red se colocaría la dirección ip de la maquina en la cual esta la base de datos.
- Port (puerto de conexión): es 3306 por defecto o según lo hayan configurado, para conexión a través de la red se recomienda cambiarlo para que no se genere conflictos.
- Username (usuario):  root, usuario por defecto o como lo tengan configurado, para conexión a través de la red es recomendable crear un usuario dándole acceso a todo.
- Password (contraseña): en mi caso Mysql10 si no colocaron contraseña ira vació.

**NOTA: Si están realizando la conexión a través de la red, siguen al pie de la letra lo indicado y aun así no se conecta a la base de datos. Les sugiero revise que en el Firewall la comunicación de MySQL5.x este también marcada el check de Pública (si también esta marcada el check de Privada no se preocupen es para que les permita trabajar de manera local y que este marcada esta no afecta en lo mas mínimo.)

package repository;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *
 * @author ProgramaloTodo
 */
public class ConexionMysql {
   
    private Connection con =null;
    private final String iniUrl = "jdbc:mysql://";
    private final String serverName = "localhost";  //
    private final String portNumber = "3306";
    private final String databaseName = "db_mysql";
    private final String userName = "root";
    private final String password = "Mysql10";
   
    public ConexionMysql(){
       
    }
   
    private String getConnectionUrl() {
        return iniUrl + serverName + ":" + portNumber + "/" + databaseName;
    }
   
    public Connection getConexion(){
        Connection con = null;
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection(getConnectionUrl(), userName, password);
            if (con != null) {
                System.out.println("Conexión a Mysql exitosa.");
            }
        } catch (Exception e) {
            System.out.println("Error de seguimiento en getConexion() : " + e.getMessage());
        }
       return con;
    }
   
    public void close(Connection con){
        try {
            con.close();
        } catch (SQLException ex) {
        }
    }
}


En esta clase no hay nada que no hayamos visto o mencionado previamente, están los atributos que necesitamos para realizar la conexión, el constructor de la clase para poder instanciar objetos de la misma y 3 métodos en los cuales colocamos la funcionalidad para conexión

1. getConnectionUrl(): Devuelve un String, que sera la cadena de conexión. Aquí daremos la estructura de la cadena de conexión concatenando el inicio de cadena, el nombre del servidor, el puerto y el nombre de la base ,

2.  getConexion(): Devuelve la conexión a la base de datos o null si no se logra conectar.
      - Aquí instanciamos el driver mysql para luego poder utilizarlo
      - Utilizamos el DriverManager del driver ya instanciado para realizar la conexión, le pasamos
         como parametros la cadena de conexión, el usuario y contraseña y le asignamos a la variable
.        "con" de tipo Connection.
      - Si "con" es diferente de null podremos decir que se realizo la conexión de manera exitosa.

3. close(Connection con): Recibe una conexión y la cierra.

Una vez echo todo esto en la clase main "PruebaConexion" instanciamos la clase "ConexionMysql"
y llamamos al metodo getConexion(). Ejecutamos.





Share: