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!

57 comentarios:

  1. chemo75 dijo...:

    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.

  1. Monillo007 dijo...:

    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.

  1. Raul J dijo...:

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

  1. Monillo007 dijo...:

    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.

  1. Raul J dijo...:

    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;

    }

  1. Raul J dijo...:

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

  1. Monillo007 dijo...:

    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.

  1. Raul J dijo...:

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

  1. Monillo007 dijo...:

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

  1. Anónimo dijo...:

    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.

  1. Monillo007 dijo...:

    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.

  1. DJ.HEYSA dijo...:

    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.

  1. Monillo007 dijo...:
    Este comentario ha sido eliminado por el autor.
  1. Monillo007 dijo...:

    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.

  1. Enrique dijo...:

    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.

  1. Enrique dijo...:

    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

  1. Anónimo dijo...:

    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.

  1. Anónimo dijo...:

    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

  1. Anónimo dijo...:

    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

  1. Monillo007 dijo...:

    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

  1. Anónimo dijo...:

    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

  1. Monillo007 dijo...:

    Definitivamente necesitas utilizar un Join para tu consulta.

    Saludox.

  1. Anónimo dijo...:

    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!

  1. Anónimo dijo...:

    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

  1. Anónimo dijo...:

    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

  1. Anónimo dijo...:

    "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?

  1. Monillo007 dijo...:

    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

  1. Anónimo dijo...:

    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

  1. Monillo007 dijo...:

    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.

  1. Edsiño dijo...:

    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

  1. Luis Navarro dijo...:

    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.

  1. jehu dijo...:

    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

  1. Anónimo dijo...:

    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

  1. Anónimo dijo...:

    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 :)!

  1. Luis Navarro dijo...:

    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.

  1. Anónimo dijo...:

    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

  1. Anónimo dijo...:

    epale monillo el codigo del main para poder ejecutar el proyecto porfavor

  1. Luis Navarro dijo...:

    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.

  1. Anónimo dijo...:

    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.

  1. Luis Navarro dijo...:

    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.

  1. jesusloco dijo...:

    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

  1. Anónimo dijo...:

    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

  1. Anónimo dijo...:

    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.

  1. GoDDeSS dijo...:

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

  1. Mati Camargo dijo...:

    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!!

  1. Luis Navarro dijo...:

    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.

  1. 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

  1. 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;
    }

    }

  1. 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;
    }

  1. 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

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

  1. Anónimo dijo...:

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

  1. Anónimo dijo...:

    :notbad:

  1. Anónimo dijo...:

    Amigo dice el Profe Chuy que muchas Gracias! XD

  1. fanny gattica dijo...:

    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.

  1. 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

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

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.

 
Monillo007 © 2010 | Designed by Trucks, Manual Bookmarking | Elegant Themes