Ir al contenido principal

Conectar una base de datos en MySQL con NetBeans



NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans.

Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

Obtener lo necesario::

  • Primero que nada necesitas tener un servidor MySQL instalado en tu equipo o en su defecto en la máquina que actuará como servidor de bases de datos. Recuerda que MySQL es gratuito y puedes obtenerlo desde aquí.

    El proceso de instalación es algo en lo que no entraré en detalle, para cualquier duda puedes consultar la documentación oficial que se encuentra en su sitio web.

  • Asimismo, debes de tener el NetBeans instalado, de preferencia su última versión estable (al momento de esta publicación es la 5.5.1) que viene con el Java Development Kit (JDK) 1.6, lo anterior puedes obtenerlo desde aquí.

  • Una vez que tengas ambas herramientas instaladas necesitaras el driver o conector a la base de datos de MySQL que puedes obtener desde aquí.
Copiar lo necesario::

Una vez que tengas el NetBeans y el MySQL Server instalado lo que vas a necesitar es copiar el driver que descargaste, en mi caso el mysql-connector-java-3.1.11-bin.jar dentro de la carpeta del JDK, en mi caso es la siguiente ruta:

C:\Archivos de programa\Java\jdk1.6.0_01\jre\lib\ext


*NOTA: Debes tener el conector dentro de la carpeta anterior antes de ejecutar el NetBeans, en caso de que esté abierto ciérralo y vuélvelo a abrir.

Ya que lo hayas copiado ahora sí abre el NetBeans y espera a que cargue.

Configurar NetBeans::

Una vez que hayas abierto el NetBeans localiza la sección de Runtime o Tiempo de ejecución que se localiza en el lado izquierdo de la pantalla, como se muestra a continuación:



Al expandir la sección de Databases o Bases de datos debe de aparecer el MySQL (Connector/J driver), en caso contrario debes de agregarlo manualmente como se describe a continuación:
  1. Da un clic derecho sobre Drivers y selecciona New Driver.


  2. En la ventana que aparece da clic en el botón de Add o Agregar y busca el archivo .jar que descargaste anteriormente, el mismo que copiaste dentro de la carpeta del JDK.

  3. Una vez hecho lo anterior da clic en el botón de Ok o Aceptar.
Cuando realices los pasos anteriores debe de aparecer un elemento nuevo en la sección de Drivers dentro de Databases de nombre MySQL (Connector/J driver).

Crear y probar una conexión::


Dentro de la sección de Runtime o Tiempo de ejecución > Databases o Bases de datos > Drivers da un clic derecho sobre MySQL (Connector/J driver) y selecciona Connect Using o Conectar usando... para que aparezca la pantalla de configuración de la conexión como se muestra a continuación:



En la sección de Name o Nombre selecciona MySQL (Connector/J driver), en la sección Database URL cambia la parte indicada por por la dirección del servidor de bases de datos, si es la misma computadora escribe localhost, en la parte de establece el puerto que definiste al instalar el servidor MySQL , por defecto es el 3306, en la sección de escribe el nombre de la base de datos a la cual te quieres conectar. Un ejemplo completo sería jdbc:mysql://localhost:3306/base_de_datos.

Posteriormente escribe el nombre de usuario para accesar a la base de datos y la contraseña respectivamente.

Da un clic en el checkbox inferior para que NetBeans recuerde la contraseña durante la conexión.

Si todo se realizó correctamente podrás ver un nuevo elemento debajo del Driver con las especificaciones de la conexión actual, si das un clic en el símbolo '+' que aparece de lado izquierdo del mismo podrás ver las tablas de la base de datos y realizar consultas hacia la misma.

Implementar el código::

Hasta aquí ya hemos establecido la conexión a la base de datos y probado su funcionamiento desde el NetBeans, sin embargo, nos hace falta implementar el código directamente en una aplicación. Para este ejemplo crearemos una clase de nombre Conexion que se podrá reutilizar las veces que sea necesario en cualquier tipo de aplicación Java que requiera conectarse y realizar consultas a una base de datos en MySQL.

Empecemos por el principio...

  1. Da un clic en el menú de File o Archivo que se localiza en la esquina superior izquierda de la ventana de NetBeans.

  2. Selecciona la opción de Nuevo Proyecto o New Project, posteriormente en la sección de Categories o Categorías selecciona General y en Projects o Proyectos selecciona Java Application o Aplicación Java y da un clic en Siguiente.


    *NOTA:
    La clase que crearemos funciona con cualquier tipo de proyecto, para fines de este ejemplo utilizamos una aplicación java convencional.

  3. Posteriormente damos un nombre a la aplicación y definimos su ubicación, una vez hecho esto damos clic en el botón de Finish o Finalizar.


  4. En este momento aparece del lado izquierdo en la pestaña de Projects o Proyectos una especie de árbol jerárquico en el cual tenemos 4 carpetas, al dar clic en el símbolo '+' de la carpeta Source Packages o Paquetes Fuente nos desplegará el único paquete con el cual cuenta nuestra aplicación hasta este punto, dentro de él se crea la clase Main.

  5. Ahora debemos de dar un clic derecho sobre Source Packages o Paquetes Fuente y dar un nombre al paquete, en mi caso es database. Este paquete contendrá la clase desde la cual estaremos realizando todas las consultas a la base de datos.

  6. Posteriormente damos un clic derecho sobre el paquete recién creado y seleccionamos Nueva o New > Java Class. Posteriormente le damos el nombre de Conexion y damos clic en el botón de Finalizar o Finish.

  7. Dentro de la clase Conexion importamos algunas librerías con el siguiente código:

    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    
  8. Una vez que tenemos las librerías creamos los métodos a utilizar descritos a continuación:
    /**
    * Método utilizado para recuperar el valor del atributo conexion
    * @return conexion contiene el estado de la conexión
    *
    */
    public Connection getConexion()
    {
       return conexion;
    }
    
    /**
    * Método utilizado para establecer la conexión con la base de datos
    * @return estado regresa el estado de la conexión, true si se estableció la conexión,
    * falso en caso contrario
    */
    public boolean crearConexion()
    {
       try {
          Class.forName("com.mysql.jdbc.Driver");
          conexion = DriverManager.getConnection("jdbc:mysql://host:puerto/baseDatos","usuario","contraseña");
       } catch (SQLException ex) {
          ex.printStackTrace();
          return false;
       } catch (ClassNotFoundException ex) {
          ex.printStackTrace();
          return false;
       }
    
       return true;
    }
    
    /**
    *
    *Método utilizado para realizar las instrucciones: INSERT, DELETE y UPDATE
    *@param sql Cadena que contiene la instrucción SQL a ejecutar
    *@return estado regresa el estado de la ejecución, true(éxito) o false(error)
    *
    */
    public boolean ejecutarSQL(String sql)
    {
       try {
          Statement sentencia = conexion.createStatement();
          sentencia.executeUpdate(sql);
       } catch (SQLException ex) {
          ex.printStackTrace();
       return false;
       }
    
       return true;
    }
    
    /**
    *
    *Método utilizado para realizar la instrucción SELECT
    *@param sql Cadena que contiene la instrucción SQL a ejecutar
    *@return resultado regresa los registros generados por la consulta
    *
    */
    public ResultSet ejecutarSQLSelect(String sql)
    {
       ResultSet resultado;
       try {
          Statement sentencia = conexion.createStatement();
          resultado = sentencia.executeQuery(sql);
       } catch (SQLException ex) {
          ex.printStackTrace();
          return null;
       }
    
       return resultado;
    }
    


  9. Finalmente compilamos el archivo localizándolo en el árbol jerárquico del lado izquierdo dando un clic derecho sobre él y seleccionando la opción de Compilar o Compile. Podrás utilizar la clase en cualquier parte de tu proyecto creando una instancia de la misma en el momento que sea necesario.


    *TIP:
    Crea únicamente una vez la conexión con el método crearConexion() desde la clase Main y pasa tu conexión como parámetro a todas las ventanas y módulos de la aplicación que la utilicen.
Una vez realizado lo anterior estarás listo para conectarte a bases de datos en MySQL desde NetBeans, la clase Conexión y el driver para MySQL puedes descargarlos este vínculo en un archivo comprimido tipo rar, este manual se encuentra en formato PDF desde este vínculo.

Si te gustó el artículo y te fue de utilidad te invito a que lo compartas con tus amigos desde los botones sociales (Twitter, Facebook, Google+). Puedes leer más Sobre el Autor o ponerte en contacto conmigo si así lo necesitas. 

De igual manera puedes suscribirte al blog original feed  para que los nuevos artículos lleguen a tu bandeja de correo o lector de Feeds favorito. No olvides darnos Like en Facebook!

Comentarios

  1. HOLA ESTA MUY INTERESANTE ESTO ESTOY LEYENDO EL MANUAL PERO TENGO UN ERROR EN LA DE CREAR CONEXION jdbc:mysql://localhost:3306/base_de_datos.

    LAPARTE DE LOCALHOST--->KE DIRECCION DEBE DE IR ESTA PARTE SI TENGO INTSTALADO MYSQL 5.0..KE DEBE LLEVAR ESA PARTE LA DIRECCION DE DONDES ESTA INSTALADO EL SERVIDORRR.NO ENTIENDO..SI ME PRODRIASSS EXPLICAR PORFAVORR...GRACIASS..Y SALUDOS.

    ResponderBorrar
  2. Si tu servidor de bases de datos está en tu equipo debe de ser: localhost, la dirección ip de tu computadora o 127.0.0.1 que es equivalente, de lo contrario es la dirección ip de la computadora donde está el servidor de bases de datos. Debes de tomar en cuenta que el puerto 3306 debe de estar abierto en el muro de fuegos del equipo donde se encuentra la DB y en el equipo que quiere acceder a la BD.

    ResponderBorrar
  3. estoy trabajando con apache derby, la conexion se hace igual como explico en el ejemplo de Mysql? si podria responderme ... gracias de ante mano

    ResponderBorrar
  4. En lo personal nunca he trabajado con ese tipo de base de datos, sin embargo sé que existe un driver para la versión 6.0 de netbeans que ha sido probado sin problemas. De cualquier manera las configuraciones con cualquier tipo de BD son idénticas bajo NetBeans, lo único que cambia es el driver y por supuesto la sintáxis en las consultas.

    ResponderBorrar
  5. he realizado paso a paso lo que utilizo para Mysql y logre quitar algunos errores que tenia, pero me da un error al momento de crear la conexion, estoy usando la version 6.0 de netbeans.. aqui le envio lo que hice quizas asi me entienda mejor..
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.*;
    import java.lang.*;
    import java.lang.ClassCastException;
    import java.lang.ClassNotFoundException;
    import java.lang.Exception;
    import java.io.*;

    /**
    *
    * @author Administrador
    */
    public class conexion {

    public Connection getConexion(){
    Connection Conexion = null;
    return Conexion;
    }

    public boolean crearConexion () {

    try
    {
    Class.forName("org.apache.derby.jdbc.ClientDriver");
    Connection Conexion = DriverManager.getConnection("jdbc:derby://localhost:1527/cajah ", "root", "root");
    System.out.println("Se conecto a la base de datos");
    }
    catch(SQLException ex){
    ex.printStackTrace();
    return false;
    }
    catch(ClassNotFoundException ex){
    ex.printStackTrace();
    return false;
    }
    System.out.println("devolvio verdadero");
    return true;

    }

    ResponderBorrar
  6. ah el error que arroja es este
    Exception in thread "main" java.lang.NullPointerException

    ResponderBorrar
  7. Esta excepción puede ser lanzada por múltiples causas, la más habitual es que estamos intentando acceder a un miembro (método o atributo) de un objeto para el que todavía no hemos reservado memoria.

    Existen múltiples formas de reservar memoria en Java, sin embargo la más elemental de todas es la siguiente.

    NombreClase nombreObjeto = new NombreClase();

    Una vez realizada esta operación podemos acceder a los miembros del objeto. Obviamente los miembros dentro de esta clase deberán ser inicializados, esto se suele hacer en el constructor de la clase.

    Te sugiero que analices tu aplicación y verifíques que no estés tratando de acceder a un objeto que no ha sido inicializado ya que el problema por el momento no es directamente con la conexión a la bd.

    ResponderBorrar
  8. Gracias.. si faltaba ccrear uncostructor de la clase, ya lo conecte

    ResponderBorrar
  9. Ha sido un gusto ayudarte. Sigue leyendo mi blog. Saludox.

    ResponderBorrar
  10. Hola
    Soy novato en esto. Gracias por tu ayuda.

    Yo arme todo como explicas, incluso agregue en el main la llamada ( new Conexion(); ).
    Pude compliar todo sin errores.
    Lo que no entiendo en donde y como tengo que poner las SQL (Select, Update, etc.).
    Te agradecería si puedes explicarmelo o poner el código.
    Muchas Gracias.

    ResponderBorrar
  11. Si descargaste el archivo de Conexion.java, solo tienes que agregarlo a tu proyecto y posteriormente importarlo dentro del código fuente donde deseas utilizarlo , una vez hecho esto lo primero es crear la conexión por medio del método crearConexion() y posteriormente las funciones ejecutarSQL(String sql) para los Insert, Delete y Update y ejecutarSQLSelect(String sql) para las sentencias Select.

    El parámetro que reciben éstas últimas es la consulta, p. ej.;

    .
    .
    .

    String consulta = "SELECT * FROM CLIENTES";

    ResultSet resultado = ejecutarSQLSelect(consulta);

    .
    .
    .

    Espero que te haya quedado un poquito más claro. Cualquier duda, deja tu comentario.

    ResponderBorrar
  12. estimado, me ha servido mucho el codigo, ahora lo que no he podido hacer es lo que mencionas en el TIP, eso de crear una sola vez la conexion y luego pasarla como parametro al resto de la aplicación.

    Podrias dar un ejemplo de como hacerlo?

    gracias nuevamente.

    ResponderBorrar
  13. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  14. Qué tal dj.heysa, te comento que con lo que me refiero al tip en código sería algo así:


    .
    .
    .
    public static void main (String[] args){

    Conexion conexion;

    if(conexion.crearConexion()){

    //conexion creada exitosamente

    new MiClase(conexion);

    }else{
    //Error al crear la conexion
    }
    .
    .
    .


    class MiClase{

    Conexion conexion;

    public MiClase(Conexion con){
    conexion = con;
    }

    .
    .
    .
    }


    En este caso, la conexión se crea dentro del método main de una clase, posteriormente se verifica que se haya creado correctamente y en caso de ser así se envía como parámetro a la clase MiClase, la cual la recibe en el constructor, haciendo esto ya no es necesario crear nuevamente la conexión ya que la recibe creada y lista para usarse.

    Espero haberme podido explicar.

    ResponderBorrar
  15. Hola,
    Mi nombre es Enrique y haber si pueden ayudarme con este problema.

    Tengo una base de datos solo con una tabla llamada empleado, es un proyecto de la escuela. El chiste es crear un programa en netbeans y desde el programa mandar llamar a la base de datos.
    Anteriormente ya habia hecho la conexion pero era con access, y bien pero ahora con derby recult que no me deja por que no tengo el driver de conexion, ya lo busque por todos lados y no lo encuento, supuestamente debe de estar en archivos de programa, javaDB y en lib, pero no lo tengo, alguien me puede decir donde consguirlo????

    Es lo unico que me falta para poder establecer la conexion.

    ResponderBorrar
  16. Olvide decir que drivers me hace falta es ClientDriver.class
    normalmente debe de estar en c:/archivos de programa/sun/javaDB/lib/
    pero no esta ... gracias

    ResponderBorrar
  17. gracias por la asesoria todo me funciono solo que no soy muy bueno con los algorimos si me pudieras explicar paso a paso cada linea de codigo...
    gracias de todos modos me fue de mucha ayuda el aporte.

    ResponderBorrar
  18. q onda!!!
    oye de antemano muchas gracias , ya por fin pude lograr la conexión la bd de mysql, soy nuevo en esto de java, realmente soy nuevo en programacion jajaa, bueno no entendi tu tip ese que planteas al ultimo, mria te explico lo q yo kiero realizar, es un tipo traductor de verbos, atravez de swing , entonces ps solo es una sola form donde utilizare esto pero no se de q forma llamarle, quiero ver si puedes instruirme al respecto. si te interesa este es mi mail alexrock85@gmail.com

    ResponderBorrar
  19. por favor necesito que me ayudan a realizar un codigo para que al momento en que yo necesito buscar los datos de una persona lo haga por numero de cedula que ya esta almacenado en la base......aaah y tengo un problema al momento de hacer un join los atributos de las tablas se me repiten como 6 veces al momento de ejecutar... por favor lo necesito urgente pero super urgente

    ResponderBorrar
  20. Qué tal,

    Te comento que para buscar los datos en una bd se utiliza la sentencia SELECT, en tu caso sería algo parecido a:
    SELECT * FROM tu_tabla WHERE numero_de_cedula = '12456asd'

    En cuanto a los valores repetidos te recomiendo utilizar 'DISTINCT' para que solo te muestre un registro de cada uno.

    Espero q te sirva, saludox

    ResponderBorrar
  21. Hola, buen dia a todos ....les exlico...estoy haciendo un proyecto con netbeans-5.5 como lenguaje de programación y mysql como gestor de bases de datos...mi pregunta y duda es la siguiente: todos hacen comentarios sobre consulta de 1 tabla.....per por ejemplo mi caso qe tengo que hacerle pregentas a una base de datos que tiene 4 tablas.... trato de usar las sentencias de bases de datos para consulta y con 1 tabla bien....pero cuando tienes que hacerle la pregunta a las 4 al mismo tiempo ....que devo hacer usar el inerr join como en bases de datos:::????????les agradezco ayuda porfa necesito hacer esa consulta para terminar my proyecto... mi hotmail es rafael.eduardo.boada@hotmal.com....para cualquiera ayuda

    ResponderBorrar
  22. Definitivamente necesitas utilizar un Join para tu consulta.

    Saludox.

    ResponderBorrar
  23. Hola.

    Tengo un problema.

    Cree una base de datos con el programa "Power designer" (primero haciendo un modelo conceptual), y luego lo cargue en SQL server 2008. Al tratar de conectarme desde netbeans IDE 6.7.1, me tira un erro que dice:

    cannot establish connection to -Toda la direccion- (Bad version number in .class file).

    Si puedes ayudarme, te agradeceria!

    ResponderBorrar
  24. Hola amigo, lo que pasa es ke hacemos un select, hace la consulta en la base de datos de Mysql, pero no nos muestra el resultado. y nos aparece el siguiente mensaje: com.mysql.jdbc.JDBC4ResultSet@8814e9. Le agradezco que nos pueda colaborar. Podemos insertar, pero no podemos ver el select. Es urgente, please....

    porfa mi correo es majo_1290@hotmail.com

    atentamente:

    Maria Jose Betancourt

    ResponderBorrar
  25. Gustavo dice: Muuuuuuchas Gracias por tu GRAN aporte!!! cosas asi son las que necesitamos los que somos auto didactas y apenas estoy empezando GRACIAS ! Que pena por el abuso pero si depronto tuvieras un ejemplo con BD incluida que tenga como se muestran las consultas realizadas en una ventana-grilla y una ventana para la toma de datos a insertar y algunas cosas mas que por tu experiencia creas importante para los que comenzamos con NetBeans y MySQL te lo agradeceria. Mil GRACIAS !! mi correo es ggvargasa@gmail.com

    ResponderBorrar
  26. "SELECT articulos.cod_art, articulos.nom_art, articulos.des_art, articulos.prec_art, pedidos.cant_art,pedidos.tot_art"
    +"FROM articulos , pedidos "
    +"WHERE articulos.cod_art = pedidos.cod_art "
    + "AND pedidos.num_fac=?"
    tengo la anterior consulta pero tengo un problema es que no se ejecuta en mi aplicacion de netbeans me muestra un error de sintaxis pero directamente en la base si la ejecuta. mi pregunta es ¿porque sucede? y ¿que hago?

    ResponderBorrar
  27. Qué tal,

    Si puedes publicar el error tal cual te aparece en la consola y el código completo de la ejecución de la consulta para ver por dónde viene el error.

    Un saludo

    ResponderBorrar
  28. perdona la molestia pero me interesa la cuestion de la conexion de base de datos con netbeans mi problema es el siguiente debo leer un archivo excel en netbeans eso ya lo tengo pero necesito conectarme a la base de datos y que revise si existen celdas vacias que guarde la informacion caso contrario no porfa si puedes ayudarme este es mi correo sedumedi2005@hotmail.com

    ResponderBorrar
  29. Qué tal,

    En este artículo puedes ver cómo conectarte directamente a la base de datos, si ya tienes la lectura del archivo basta con que unas parte de este código con el que ya tienes.

    Saludos.

    ResponderBorrar
  30. Hola Monillo:
    El tuto esta super. Solo que tengo un error en public Connection getConexion() el error que marca netbeans es en return conexion
    luego de haber arreglado el error como llamo a los procedimientos hacer mis consultas.Gracias por tu atencion
    Atte: Edson

    ResponderBorrar
  31. Qué tal,

    El método ejecutarSQL() sirve para cualquier sentencia que no devuelve un mapa de resultados, si lo que necesitas es realizar un select y manipular los resultados el método que te sirve es ejecutarSQLSelect() ya que retorna un ResultSet.

    Espero haberte ayudado. Saludox.

    ResponderBorrar
  32. disculpa la molestia, tengo que hacer una pagina web (ia la cree), esta pagina debe de acceder a una bd(ia esta creada), mi pagina debe de acceder aala base de datos y hacer un insert, update, delete, solo que no entiendo nada de como rayos hacer para que esto suceda =S.....trate de hacer esto de tu blog...pro me marca todos en rojo (todo este codigo que pusiste anteriormente) todo lo pegue en public class conexion....te agradeceria mucho

    ResponderBorrar
  33. hola muy buen tutorial pero al tratar de descargar la clase conexion me dice que el archivo no existe podrias volverlo a subir? por favor =) te lo agradecería mucho mucho =) gracias

    ResponderBorrar
  34. Hola buen tutorial solo que me sale un error algo mas o menos asi No se puede establecer la conexión a jdbc:mysql://localhost:3306/127.0.0.1 usando com.mysql.jdbc.Driver (Access de ......como podria arreglarlo gracias...de antemano :)!

    ResponderBorrar
  35. Qué tal,

    La URL que estás utilizando es jdbc:mysql://localhost:3306/127.0.0.1, donde tienes 127.0.0.1 debe ir la base de datos a la cual te quieres conectar y no la IP del servidor. Seguramente por eso es que no se puede realizar la conexión.

    Saludos.

    ResponderBorrar
  36. Esta muy bien explicado, solo tengo una duda en esta parte:

    "Crea únicamente una vez la conexión con el método crearConexion() desde la clase Main y pasa tu conexión como parámetro a todas las ventanas y módulos de la aplicación que la utilicen."

    ¿Podrías dar un ejemplo mas claro de esto? Gracias

    ResponderBorrar
  37. epale monillo el codigo del main para poder ejecutar el proyecto porfavor

    ResponderBorrar
  38. Qué tal,

    Hace poco escribí un artículo un poco más completo sobre este mismo tema, puedes consultarlo desde este link:

    http://monillo007.blogspot.com/2012/04/conexion-consulta-y-ejecucion-de_19.html

    Incluye el proyecto descargable para tu comodidad. Saludos.

    ResponderBorrar
  39. esta muy bien la explicacion solo que al momento de querer descargar el codigo complementario pues no aparece nada, me dice que el archivo ha sido boorado.

    ResponderBorrar
  40. hola amigo lo que pasa es que me marca un error en la clase conexión e la sección de código siguiente return conexión; y en todas las lineas de cogido donde esta el conexión me marca el siguiente error cannot find symbol
    seria mucho pedir si pusieras el código de la clase main ya implementado gracias de antemano y muy bueno tu aporte

    ResponderBorrar
  41. hola.
    Muy bueno tu tutorial, yo lo quise descargar pero me marca que ya se di de baja el fichero me lo puedes mandar a mi correo juan_rdz_2@hotmail.com ó volver a subirlo, bueno, si lo haces te lo agradeceria bastante. Gracias por tu tiempo y otra ves gracias por tu aporte

    ResponderBorrar
  42. Sos Javier, me quedo la duda al usar la sentencia para realizar una consulta.
    Me da ok. la conexion a base de datos, pero no puedo hacer una consulta.

    ResponderBorrar
  43. Muchas gracias por trabajar en manuales sencillos y muy practicos ;)

    ResponderBorrar
  44. Buenas a la hora de conectarme me tira un error en la excepcion del try

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    si alguien me puede ayudar desde ya muchisimas gracias!!

    ResponderBorrar
  45. Qué tal,

    El error es por que necesitas descargar el conector de mysql y ubicarlo en tu classpath tal cual se menciona al inicio del tutorial.

    Saludos.

    ResponderBorrar
  46. Hola amigos muy importante solo que tengo un gran problema tengo dos metodos para alta, baja, modificaciones, quisiera usar solo un metodo para poder conectar a MySQL, y poder hacer agregar, actualiza, modificar, eliminar, les dejos para que puedan ver que si hay alguna cosa que se pueda hacer

    ResponderBorrar
  47. este es el primer método, el primer método se llama Conexion y el otro metodos, espero sus ayudas para poder seguir con NetBeans
    package systemtauro;
    import java.sql.*;
    import java.sql.SQLException;
    public class Conexion {
    private Connection conn = null;
    private Statement enunciado;
    private static Conexion instancia;
    static String bd = "dbjunior";
    static String login = "root";
    static String password = "";
    static String url = "jdbc:mysql://localhost/"+bd;
    static String servidor = "127.0.0.1";

    public synchronized static Conexion getInstancia(){
    if (instancia == null){
    instancia = new Conexion();
    }
    return instancia;
    }
    public void Conexion(){
    try{
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection(url,login,password);
    enunciado = conn.createStatement();
    if (conn != null) {
    System.out.println("Conexión a base de datos "+url+" ... Ok");
    }
    }
    catch(SQLException ex){
    ex.printStackTrace();
    System.out.println("Error en");
    }
    catch(Exception ex) {
    System.out.println("Error" + ex.getMessage());
    //System.out.println("Hubo un problema al intentar conectarse con la base de datos "+url);
    }
    }
    public ResultSet hacerConsulta(String consulta){
    ResultSet resultado = null;
    try{
    resultado = enunciado.executeQuery(consulta);
    }catch(SQLException e){
    e.printStackTrace();
    }
    return resultado;
    }
    public Connection getConexion(){
    return conn;
    }

    }

    ResponderBorrar
  48. Esta clase se llama Metodos y voy a hacer en dos partes ya que no me permite cargar todo:
    package systemtauro;
    import java.awt.Image;
    import java.awt.Toolkit;
    import java.sql.*;
    import java.sql.SQLException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import javax.swing.DefaultListCellRenderer;
    import javax.swing.JComboBox;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JOptionPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;

    /**
    *
    * @author Rodrigo Javier Figueredo Espinola
    * /30/10/2013
    */

    public class Metodos {
    // (probar)private Connection conectar;
    //private String sql;
    public static Connection conectar = null;
    //Metodo que permite conectar la base de datos
    //Añadir "import" java.sql.Connection;

    public int respuesta;
    public int resultado;
    public static int pcol[];

    public Metodos(){

    }
    //Metodo que permite abrir la base de datos

    public boolean conexion(){
    if(conectar != null){
    return true;
    }
    try{
    /*
    *En este punto recordar que el conector debe copiarse en el siguiente punto
    *C:\Archivos de programa\Java\jdk1.6.0_05\jre\lib\ext\mysql-connector-java-5.1.0-bin.jar
    */

    DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    // Añadir "import" a java.sql.DriverManager;
    //Añadio import java.sql.DriverManager;

    conectar = DriverManager.getConnection("jdbc:mysql://localhost:3306/junior","root","");

    /*
    *Tipo de conector/Servidor/Base de datos/Administrador/Password
    */
    // Lo que se le está diciendo es la ruta donde el administrador de conexión encontrará la base de datos, su puerto, el nombre del administrador y su clave

    }catch (Exception e){
    return false;
    }

    return true;
    }
    //Metodo que permite selecionar datos de una tabla con cierta condicion
    public ResultSet despliega(String campos, String tabla, String condicion){
    // Añadir "import" a java.sql.ResultSet
    // Añadió import java.sql.ResultSet;
    ResultSet rs = null;
    try{
    Statement s = conectar.createStatement();

    // Añadir "import" a java.sql.Statement
    // Añadió import java.sql.Statement;

    rs = s.executeQuery("select "+campos+" from "+tabla+" "+condicion);
    }catch (Exception e){
    }
    return rs;
    }
    //Metodo que permite seleccionar datos mediante una instruccion sql
    public ResultSet despliega(String sql){
    ResultSet rs = null;
    try{
    Statement s = conectar.createStatement();
    rs = s.executeQuery(sql);
    }catch (Exception e){
    e.printStackTrace();
    }
    return rs;
    }

    ResponderBorrar
  49. public String fDMA(Object obj){
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
    // Añadir "import" a java.text.SimpleDateFormat
    // Añadió import java.text.SimpleDateFormat;
    return sdf.format(obj);
    }
    public String fAMD(String stf){
    String a = stf.substring(6);
    String m = stf.substring(2, 6);
    String d = stf.substring(0, 2);
    stf = a+m+d;
    return stf;
    }
    /* Formatos:
    "hh:mm:ss"
    "yyyy-MM-dd"
    "dd-MMM-yyyy"
    "dd-MMMM-yyyy" */
    public String setFormatoFecha(String formato){
    SimpleDateFormat sdf = new SimpleDateFormat(formato);
    return sdf.format(new Date());
    // Añadir "import" a java.util.Date
    // Añadió import java.util.Date;
    }

    public void cargaTabla(ResultSet res, JTable tabla, DefaultTableModel modelo){
    // Añadir "import" a javax.swing.JTable
    // Añadió import javax.swing.JTable;
    int numeroColumnas=0;
    DefaultTableModel md = new DefaultTableModel(){
    // Añadir "import" a javax.swing.table.DefaultTableModel
    // Añadió import javax.swing.table.DefaultTableModel;
    public boolean isCELLEditable(int row, int column){
    return false;
    }
    };
    try{
    ResultSetMetaData metaDatos = res.getMetaData();
    // Añadir "import" a java.sql.ResultSetMetaData
    // Añadió import java.sql.ResultSetMetaData;
    numeroColumnas = metaDatos.getColumnCount();
    Object[] etiquetas = new Object[numeroColumnas];
    for (int i = 0; i< numeroColumnas; i++)
    etiquetas[i] =metaDatos.getColumnLabel(i+1);
    md.setColumnIdentifiers(etiquetas);
    }catch(Exception e) {e.printStackTrace();}
    try{
    while(res.next()){
    Object[] datosfila= new Object[numeroColumnas];
    for(int i=0; i0){
    combo.setRenderer(new DefaultListCellRenderer(){
    // Añadir "import" a javax.swing.DefaultListCellRenderer
    // Añadió import javax.swing.DefaultListCellRenderer;
    @Override
    public java.awt.Component getListCellRendererComponent (
    JList l,Object o,int i,boolean s, boolean f){
    // Añadir "import" a javax.swing.JList
    // Añadió import javax.swing.JList;
    String items="";
    try{
    for (int j = 0; j < pcol.length; j++) {
    items = items + " "+ ((String[])o)[Metodos.pcol[j]];
    }
    System.out.println("Items: "+items);
    return new JLabel (items);

    }catch(Exception e){
    JOptionPane.showMessageDialog(null,
    "Ocurri\u00f3 Un error" , "Atenci\u00f3n",
    JOptionPane.INFORMATION_MESSAGE);
    return null;
    }
    }
    });
    }
    return;
    }
    }//Esta clase se puede compilar, pero nunca ejecutar

    ResponderBorrar
  50. con esto tambien puedo hacer altas, bajas, actualizaciones o solo puedo hacer consultas?

    ResponderBorrar
  51. esta super bn tu post espero que me puedas ayudar a que guarde datos de un textfield al precionar un boton grasiias muii bn

    ResponderBorrar
  52. Amigo dice el Profe Chuy que muchas Gracias! XD

    ResponderBorrar
  53. Muy buen aporte lo que quisiera saber es si me podrias ayudar a saber como hago para conectarme a la base de datos con diferentes usuarios osea que no siempre sea root. Gracias.

    ResponderBorrar
  54. Oye , me podrías ayudar o alguien que ande por aquí , esuqe yo tengo la base hecha en access 2013 y quiero saber como enlazarla a la aplicaciones de java para que consulte nada mas la información de las tablas..... Por favor ayudas

    ResponderBorrar
  55. como es que conecto my base de datos de mysql que se llama anda a java o netbenas

    ResponderBorrar
  56. no sirven tus codigos
    POSDATA:no chistas

    ResponderBorrar
  57. hola perdon me gustaria sabe que puedo poner en driver class cuando estoy poniendo lo del driver

    ResponderBorrar
  58. Hola amigos, ¿Quieren un préstamo en efectivo hoy, solo hay una compañía que puedo recomendar para ustedes, donde recibí mi préstamo de $ 150,000 de Atlas Loan, aquí está su dirección de correo electrónico Atlasloanfirm@outlook.com

    ResponderBorrar
  59. No me aparece el driver y no lo puedo instalar ya le doy agrgar pero no me sale nada ayuda

    ResponderBorrar
  60. La variable "conexion" me sale con errores, en todas las sentencias :/
    AYUDA POR FAVOR

    ResponderBorrar
  61. ¿NECESITA UN PRÉSTAMO O QUIERE REFINANCIAR SU CASA, PAGAR FACTURAS, AMPLIAR SU NEGOCIO CON UNA TASA DE INTERÉS DEL 3%? NO BUSQUE MÁS CONTACTO Vía: Peterheymannloanoffer@gmail.com

    ResponderBorrar
  62. Hola, espectadores de todo el mundo. Hoy en día, la buena noticia para todos es obtener una tarjeta de cajero automático en blanco que se pueda usar en todos los cajeros automáticos del mundo. Tenemos tarjetas de cajero automático especialmente programadas que se pueden utilizar para piratear cajeros automáticos. Las tarjetas de cajero automático se pueden utilizar para retirar dinero de los cajeros automáticos o para deslizar tarjetas en tiendas y puntos de venta. Emitimos estas tarjetas a todos los clientes interesados ​​en todo el mundo. El límite diario de retiro de tarjetas de cajero automático es de $ 5,000 y el límite de gasto en la tienda es de $ 55,000, según el tipo de tarjeta que solicite y la cantidad de tarjetas de cajero automático que necesite (rango mínimo a máximo 5,000 AA) 15 millones ... USD Con la ayuda de nuestros THOMAS HACKERS ILIMITADOS, puede evitar problemas financieros y no convertirse en un administrador de deudas o una persona con dificultades financieras. Es por eso que necesita contactarnos rápidamente para encontrar una solución a sus problemas financieros. Nos sentiremos honrados cuando esté financieramente estable. Estamos certificados y su privacidad es 100% segura para nosotros. No se preocupe por sus problemas financieros. Si necesita otros servicios de piratería de redes, lo atenderemos en cualquier momento y en cualquier lugar. Contáctenos en nuestra dirección de correo electrónico: thomasunlimitedhackers@gmail.com

    Saludos
    THOMAS FREDDIE HACKER sin límites
    Correo electrónico thomasunlimitedhackers@gmail.com
    Llamada / SMS: +1 (985) 465-8370
    Lema: Brindamos el servicio más rápido y confiable.

    ResponderBorrar
  63. carnal buenas tardes tengo una duda, estoy tratando de conectar NetBeans ID 8.2 con My SQL 8.0 y al momento de probar la conecion me arroja este error Cannot establish a connection to jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull using com.mysql.jdbc.Driver (Unable to load authentication plugin 'caching_sha2_password'.)
    espero y me puedas ayudar

    ResponderBorrar

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.